---
# System prepended metadata

title: LayerZero Re-Re-audit

---

# LayerZero Re-Re-audit

**Pool.sol
At the struct ChainPath, we place the bool ready (line 27, line 389) as the first variable to compactly pack the Chainpath.**

Affects gas utilisation only, but agreed.  

**Router.sol
In redeemLocal (line 184), if the redeem amount is 0, it should revert instead of sending the credit out. This is not a bug but will impact UX. This change will not introduce any functional problem to the system  **

Agreed  

**IStargateFeeLibrary.sol 
In line 11, the dstChainId was type uint256, which was wrong. It should be uint16 throughout the whole project **

This has no impact, but agree for consistency.   

**StargateFeeLibraryV02.sol 
Likely be used in production.**

This is an addition. Are we auditing this as well?  

**3.1. Possible cross-chain desynchronization of token balances  **

L194: I can see the fees calculations have changed in this commit. But there is zero documentation on what the fees should be, how they should be calculated, and no doctstrings on the intended implementation.

**3.2. Insufficient equilibrium fee pool can cause swaps to fail**

It this by design? If we have supporting documentation we can assess whether this is intended.

**3.3. Unchecked use of can potentially lead to an out-of-bounds read**

We need to know the usage that this is referring to.

**3.4. Usage of calldatacopy in inline assembly is unclear  **

My knowledge of assembly is not sufficient to assess this point.

**3.5 Insufficient test suite code coverage** 

Agreed

**3.6. Ideally,the usage of the LayerZeroAPI should be more thoroughly documented**  

Agreed