Gridex Protocol audit

ABDK ConsultingNot recorded. See the report

ABDK Consulting reviewed Gridex (Gridex Protocol audit) on 14 Mar 2023: 154 findings, 0 critical; 38 marked fixed, 116 acknowledged.

No open critical findings
Open the reportOpen Gridex’s security record

Report hosted on GitHub.

Statuses are the security firm’s own, from this report. Trustblock does not review code.

Findings154

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

SeverityOpenAcknowledgedFixed
Critical000
High0111
Medium0166
Low09921
HighIn quite probable case when “amountOutUsed” equals “amountOut”, calling the “muldiv” function is an overkill.Fixed

The report gives no description here.

HighIn some cases, in order to check whether certain grid is registered, the “capacity” field is used, while in other cases, the “nextCapacity” field is used instead.Fixed

The report gives no description here.

HighMultiplication after division could lead to precision degradation.Fixed

The report gives no description here.

HighProcedural in BitMath.solFixed

The report gives no description here.

HighSuboptimal in IGridStructs.solFixed

The report gives no description here.

HighSuboptimal in IGridStructs.solFixed

The report gives no description here.

HighThe “mulDiv” function is not needed here, as all the arguments are 128-bit numbers.Fixed

The report gives no description here.

HighThe “mulDiv” function looks like an overkill here, as all the arguments fit intoFixed

The report gives no description here.

HighThe “mulDiv” function spends lots of gas to calculate the reciprocal of the denominator.Fixed

The report gives no description here.

HighThe values calculated here may remain unused in certain scenarios.Fixed

The report gives no description here.

Show 10 more
HighThis expression is calculated at every loop iteration.Fixed

The report gives no description here.

MediumDescriptions for these two returned values are identical.Fixed

The report gives no description here.

MediumOver-/underflow is possible here.Fixed

The report gives no description here.

MediumOverflow is possible here.Fixed

The report gives no description here.

MediumOverflow is possible when converting “step.amountIn” to “int256”.Fixed

The report gives no description here.

MediumThese constants are taken from Uniswap V3 TickMath, from a function that performs different calculations, so error estimations made for that function are not relevant for this funcFixed

The report gives no description here.

MediumUnderflow is possible when converting to “uint24”.Fixed

The report gives no description here.

LowDespite the pragma, this code is not compatible with Solidity versions prior to 0.8.0.Fixed

The report gives no description here.

LowPhantom overflow is possible when calculating -amountRemaining.Fixed

The report gives no description here.

LowSuboptimal in BoundaryBitmap.solFixed

The report gives no description here.

Show 10 more
LowSuboptimal in BoundaryBitmap.solFixed

The report gives no description here.

LowSuboptimal in BoundaryBitmap.solFixed

The report gives no description here.

LowSuboptimal in BoundaryMath.solFixed

The report gives no description here.

LowSuboptimal in BoundaryMath.solFixed

The report gives no description here.

LowSuboptimal in BoundaryMath.solFixed

The report gives no description here.

LowSuboptimal in Grid.solFixed

The report gives no description here.

LowSuboptimal in Grid.solFixed

The report gives no description here.

LowSuboptimal in Grid.solFixed

The report gives no description here.

LowThe “mulDiv” function is redundant here as all arguments are 128 bits.Fixed

The report gives no description here.

LowThe expression “-amountRemaining’ is calculated twice.Fixed

The report gives no description here.

Show 8 more
LowThe number format for this value is unclear.Fixed

The report gives no description here.

LowThe rest of the function looks like it is always executed while actually it is executed only when price is in range.Fixed

The report gives no description here.

LowThe semantics of the keys and values in this mapping is unclear.Fixed

The report gives no description here.

LowThe semantics of this field is unclear.Fixed

The report gives no description here.

LowThese code blocks are very similar and differ only in what token is being sent out.Fixed

The report gives no description here.

LowThis argument is not documented.Fixed

The report gives no description here.

LowThis statement does nothing.Fixed

The report gives no description here.

LowUsing the“mulDiv” function for dividing as 256-bit number by two is an overkill.Fixed

The report gives no description here.

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.

Part of Gridex’s security record

Gridex
Audits1 audit by 1 firmLast audit Mar 2023, by ABDK Consulting.
Critical findingsNo open critical findingsIn 1 report.
Open Gridex’s security record

Security firm

ABDK Consulting

31 projects reviewed · 64 reports · latest Jan 2026

See ABDK Consulting’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