<!-- canonical: https://0xsimao.com/findings/singularity-asset-address-checks-constructor -->

# BaseAssetManager missing 0 address checks in the constructor

Low/Info · Three Sigma · Private DeFi access · 26th February, 2024

Finding 3S-SG-N11 of the Singularity security review.

- Protocol: https://www.thesingularity.network/
- Report: /reports/singularity
- Source: https://cdn.sanity.io/files/qoqld077/production/45b8aac56a2b8e3b557df4329ac9bf8220b64012.pdf

---

### Description

0 address checks in the constructor are a safety check to ensure addresses are correctly
set. The BaseAssetManager, which is inherited by all pool managers, could perform these
checks.

### Recommendation

Place these checks in the BaseAssetManager.

### Status

Addressed in [#8b300f0](https://github.com/portalgateme/darkpool-v1-zk-contracts-fork/commit/8b300f07a28f2c073154c8de3e9e90ba64ef1934).

---

Related findings:

- [Throughout code-base: missing address checks.](https://0xsimao.com/findings/maple-finance-iii-throughout-code-address-checks): Maple Finance
- [Missing `disableInitializers()` call in `StandardIDOPool::constructor()`](https://0xsimao.com/findings/blast-ido-pools-disable-initializers-standard-constructor): Blast IDO Pools
- [BRC20Factory constructor is missing a duplicate check](https://0xsimao.com/findings/orange-brc20-factory-constructor-duplicate): Orange Bridge
- [Missing disableInitializers() call in the constructor](https://0xsimao.com/findings/ostium-disable-initializers-call-constructor): Ostium
