Generated 2026-09-30 13:13 UTC | 177 findings
High
4
Medium
40
Low
74
Informational
59
| Check | Description | Location |
|---|---|---|
| arbitrary-send-eth | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) sends eth to arbitrary user | contracts/utils/Multicall3.sol:159 |
| arbitrary-send-eth | DotnsRegistrarController._settleEscrow(address,uint256,address,bool,uint256) (contracts/registrars/DotnsRegistrarControl | contracts/registrars/DotnsRegistrarController.sol:266 |
| reentrancy-eth | Reentrancy in DotnsRegistrar.register(uint256,address,string) (contracts/registrars/DotnsRegistrar.sol#128-158): Extern | contracts/registrars/DotnsRegistrar.sol:128 |
| uninitialized-state | DotnsNameEscrow._entriesByRecipient (contracts/escrow/DotnsNameEscrow.sol#102) is never initialized. It is used in: - D | contracts/escrow/DotnsNameEscrow.sol:102 |
| Check | Description | Location |
|---|---|---|
| incorrect-equality | DotnsRegistrarController.commit(bytes32) (contracts/registrars/DotnsRegistrarController.sol#145-155) uses a dangerous st | contracts/registrars/DotnsRegistrarController.sol:145 |
| reentrancy-no-eth | Reentrancy in DotnsPopController._issueDeviceNameWithReservation(IDotnsPopController.DeviceNameIssuanceWithReservation,b | contracts/registrars/DotnsPopController.sol:253 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.reservePersonhoodName(IDotnsPopController.PersonhoodNameReservation) (contracts/registr | contracts/registrars/DotnsPopController.sol:223 |
| reentrancy-no-eth | Reentrancy in DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/regist | contracts/registrars/DotnsPopController.sol:313 |
| reentrancy-no-eth | Reentrancy in DotnsPopController._issueDeviceNameWithReservation(IDotnsPopController.DeviceNameIssuanceWithReservation,b | contracts/registrars/DotnsPopController.sol:253 |
| reentrancy-no-eth | Reentrancy in DotnsPopController._releasePopRulesSlot(bytes32) (contracts/registrars/DotnsPopController.sol#1028-1033): | contracts/registrars/DotnsPopController.sol:1028 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.reservePersonhoodName(IDotnsPopController.PersonhoodNameReservation) (contracts/registr | contracts/registrars/DotnsPopController.sol:223 |
| reentrancy-no-eth | Reentrancy in DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/regist | contracts/registrars/DotnsPopController.sol:313 |
| uninitialized-local | DotnsPopLens._pageNames(address,uint256,uint256).filled (contracts/registrars/DotnsPopLens.sol#171) is a local variable | contracts/registrars/DotnsPopLens.sol:171 |
| uninitialized-local | DotnsPopController._issueDeviceNameWithReservation(IDotnsPopController.DeviceNameIssuanceWithReservation,bool).reservedH | contracts/registrars/DotnsPopController.sol:260 |
| uninitialized-local | DotnsRegistrarController.register(IDotnsRegistrarController.Registration).reverse (contracts/registrars/DotnsRegistrarCo | contracts/registrars/DotnsRegistrarController.sol:226 |
| uninitialized-local | DotnsRegistrarController.registerReserved(IDotnsRegistrarController.Registration).whitelist (contracts/registrars/DotnsR | contracts/registrars/DotnsRegistrarController.sol:298 |
| uninitialized-local | DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool).deviceLabelhash (contracts/regi | contracts/registrars/DotnsPopController.sol:359 |
| uninitialized-local | DotnsPopLens._pageNames(address,uint256,uint256).seen (contracts/registrars/DotnsPopLens.sol#172) is a local variable ne | contracts/registrars/DotnsPopLens.sol:172 |
| uninitialized-local | DotnsRegistrarController.register(IDotnsRegistrarController.Registration).setReverseRecord (contracts/registrars/DotnsRe | contracts/registrars/DotnsRegistrarController.sol:227 |
| uninitialized-local | DotnsRegistrar._update(address,uint256,address).positionSyncNeeded (contracts/registrars/DotnsRegistrar.sol#323) is a lo | contracts/registrars/DotnsRegistrar.sol:323 |
| uninitialized-local | StringUtils.isNamePath(string).start (contracts/utils/StringUtils.sol#254) is a local variable never initialized | contracts/utils/StringUtils.sol:254 |
| unused-return | DotnsPopController._stashPendingClaim(address,string,bytes32) (contracts/registrars/DotnsPopController.sol#735-742) igno | contracts/registrars/DotnsPopController.sol:735 |
| unused-return | DotnsNameWhitelist._activate(bytes32,string) (contracts/whitelist/DotnsNameWhitelist.sol#469-475) ignores return value b | contracts/whitelist/DotnsNameWhitelist.sol:469 |
| unused-return | DotnsRegistrar._writeOwnerLabel(address,uint256,string) (contracts/registrars/DotnsRegistrar.sol#417-420) ignores return | contracts/registrars/DotnsRegistrar.sol:417 |
| unused-return | DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:649 |
| unused-return | DotnsPopLens._detail(bytes32,string) (contracts/registrars/DotnsPopLens.sol#227-269) ignores return value by (tier) = _p | contracts/registrars/DotnsPopLens.sol:227 |
| unused-return | DotnsPopController._issueDeviceName(IPopRules,IDotnsPopController.DeviceNameIssuance,bool) (contracts/registrars/DotnsPo | contracts/registrars/DotnsPopController.sol:285 |
| unused-return | DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/registrars/DotnsPopC | contracts/registrars/DotnsPopController.sol:313 |
| unused-return | DotnsNameWhitelist._deactivate(bytes32) (contracts/whitelist/DotnsNameWhitelist.sol#479-485) ignores return value by _ac | contracts/whitelist/DotnsNameWhitelist.sol:479 |
| unused-return | StoreFactory.initialize(address,address) (contracts/store/StoreFactory.sol#91-102) ignores return value by IDotnsProtoco | contracts/store/StoreFactory.sol:91 |
| unused-return | DotnsNameWhitelist._clearClaimants(bytes32,address,string) (contracts/whitelist/DotnsNameWhitelist.sol#454-464) ignores | contracts/whitelist/DotnsNameWhitelist.sol:454 |
| unused-return | DotnsNameWhitelist._nodeOf(string) (contracts/whitelist/DotnsNameWhitelist.sol#490-492) ignores return value by (None,no | contracts/whitelist/DotnsNameWhitelist.sol:490 |
| unused-return | DotnsPopController._settlePending(address,uint256) (contracts/registrars/DotnsPopController.sol#424-453) ignores return | contracts/registrars/DotnsPopController.sol:424 |
| unused-return | DotnsRegistrar._update(address,uint256,address) (contracts/registrars/DotnsRegistrar.sol#259-341) ignores return value b | contracts/registrars/DotnsRegistrar.sol:259 |
| unused-return | DotnsPopController._validateReservablePersonhoodLabel(IPopRules,string,bool) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:940 |
| unused-return | StoreFactory.upgradeLabelStoreImplementation(address) (contracts/store/StoreFactory.sol#147-156) ignores return value by | contracts/store/StoreFactory.sol:147 |
| unused-return | DotnsRegistrarController.register(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrarController | contracts/registrars/DotnsRegistrarController.sol:167 |
| unused-return | DotnsNameWhitelist.requestName(string,string,address) (contracts/whitelist/DotnsNameWhitelist.sol#170-198) ignores retur | contracts/whitelist/DotnsNameWhitelist.sol:170 |
| unused-return | DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/registrars/DotnsPopC | contracts/registrars/DotnsPopController.sol:313 |
| unused-return | DotnsRegistrar._syncRecipientStore(IStoreFactory,address,address,uint256) (contracts/registrars/DotnsRegistrar.sol#344-3 | contracts/registrars/DotnsRegistrar.sol:344 |
| unused-return | DotnsNameWhitelist.reject(string,address) (contracts/whitelist/DotnsNameWhitelist.sol#209-224) ignores return value by _ | contracts/whitelist/DotnsNameWhitelist.sol:209 |
| unused-return | DotnsRegistry._writeSubnodeToStore(address,bytes32,string) (contracts/registry/DotnsRegistry.sol#227-236) ignores return | contracts/registry/DotnsRegistry.sol:227 |
| unused-return | StoreFactory.upgradeUserStoreImplementation(address) (contracts/store/StoreFactory.sol#199-204) ignores return value by | contracts/store/StoreFactory.sol:199 |
| unused-return | DotnsRegistrarController.register(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrarController | contracts/registrars/DotnsRegistrarController.sol:167 |
| Check | Description | Location |
|---|---|---|
| shadowing-local | IDotnsPopResolver.setChatKey(bytes32,bytes).chatKey (contracts/resolvers/IDotnsPopResolver.sol#54) shadows: - IDotnsPop | contracts/resolvers/IDotnsPopResolver.sol:54 |
| shadowing-local | IDotnsPopResolver.chatKey(bytes32).chatKey (contracts/resolvers/IDotnsPopResolver.sol#72) shadows: - IDotnsPopResolver. | contracts/resolvers/IDotnsPopResolver.sol:72 |
| calls-loop | DotnsPopLens._ownedBy(bytes32,address) (contracts/registrars/DotnsPopLens.sol#213-215) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:213 |
| calls-loop | DotnsPopLens._countNames(address) (contracts/registrars/DotnsPopLens.sol#121-148) has external calls inside a loop: node | contracts/registrars/DotnsPopLens.sol:121 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:459 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256) (contracts/registrars/DotnsPopLens.sol#155-207) has external calls insi | contracts/registrars/DotnsPopLens.sol:155 |
| calls-loop | DotnsPopLens._nodeOf(string) (contracts/registrars/DotnsPopLens.sol#302-308) has external calls inside a loop: tldNode = | contracts/registrars/DotnsPopLens.sol:302 |
| calls-loop | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) has external calls inside a loop: (re | contracts/utils/Multicall3.sol:128 |
| calls-loop | DotnsPopLens._ownedBy(bytes32,address) (contracts/registrars/DotnsPopLens.sol#213-215) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:213 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#725-728) has extern | contracts/registrars/DotnsPopController.sol:725 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:459 |
| calls-loop | Multicall3.tryAggregate(bool,Multicall3.Call[]) (contracts/utils/Multicall3.sol#67-89) has external calls inside a loop: | contracts/utils/Multicall3.sol:67 |
| calls-loop | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) has external calls inside a | contracts/utils/Multicall3.sol:159 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256) (contracts/registrars/DotnsPopLens.sol#155-207) has external calls insi | contracts/registrars/DotnsPopLens.sol:155 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#725-728) has extern | contracts/registrars/DotnsPopController.sol:725 |
| calls-loop | DotnsNameWhitelist._nodeOf(string) (contracts/whitelist/DotnsNameWhitelist.sol#490-492) has external calls inside a loop | contracts/whitelist/DotnsNameWhitelist.sol:490 |
| calls-loop | DotnsPopLens._controller() (contracts/registrars/DotnsPopLens.sol#283-285) has external calls inside a loop: IDotnsPopCo | contracts/registrars/DotnsPopLens.sol:283 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:459 |
| calls-loop | DotnsPopController._deviceSubnode(string) (contracts/registrars/DotnsPopController.sol#906-908) has external calls insid | contracts/registrars/DotnsPopController.sol:906 |
| calls-loop | DotnsPopLens._countNames(address) (contracts/registrars/DotnsPopLens.sol#121-148) has external calls inside a loop: labe | contracts/registrars/DotnsPopLens.sol:121 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#725-728) has extern | contracts/registrars/DotnsPopController.sol:725 |
| calls-loop | DotnsPopLens._nodeOf(string) (contracts/registrars/DotnsPopLens.sol#302-308) has external calls inside a loop: tldNode = | contracts/registrars/DotnsPopLens.sol:302 |
| calls-loop | DotnsPopLens._countNames(address) (contracts/registrars/DotnsPopLens.sol#121-148) has external calls inside a loop: stor | contracts/registrars/DotnsPopLens.sol:121 |
| calls-loop | Multicall3.aggregate(Multicall3.Call[]) (contracts/utils/Multicall3.sol#42-60) has external calls inside a loop: (succes | contracts/utils/Multicall3.sol:42 |
| calls-loop | DotnsPopLens._belongsToListing(string) (contracts/registrars/DotnsPopLens.sol#111-114) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:111 |
| calls-loop | DotnsPopController._deviceSubnode(string) (contracts/registrars/DotnsPopController.sol#906-908) has external calls insid | contracts/registrars/DotnsPopController.sol:906 |
| calls-loop | Multicall3.tryAggregate(bool,Multicall3.Call[]) (contracts/utils/Multicall3.sol#67-89) has external calls inside a loop: | contracts/utils/Multicall3.sol:67 |
| calls-loop | DotnsPopLens._controller() (contracts/registrars/DotnsPopLens.sol#283-285) has external calls inside a loop: IDotnsPopCo | contracts/registrars/DotnsPopLens.sol:283 |
| calls-loop | DotnsPopLens._registry() (contracts/registrars/DotnsPopLens.sol#293-295) has external calls inside a loop: IDotnsRegistr | contracts/registrars/DotnsPopLens.sol:293 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:459 |
| calls-loop | DotnsPopLens._registry() (contracts/registrars/DotnsPopLens.sol#293-295) has external calls inside a loop: IDotnsRegistr | contracts/registrars/DotnsPopLens.sol:293 |
| calls-loop | DotnsPopLens._belongsToListing(string) (contracts/registrars/DotnsPopLens.sol#111-114) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:111 |
| calls-loop | Multicall3.tryAggregate(bool,Multicall3.Call[]) (contracts/utils/Multicall3.sol#67-89) has external calls inside a loop: | contracts/utils/Multicall3.sol:67 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256) (contracts/registrars/DotnsPopLens.sol#155-207) has external calls insi | contracts/registrars/DotnsPopLens.sol:155 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#725-728) has extern | contracts/registrars/DotnsPopController.sol:725 |
| reentrancy-benign | Reentrancy in DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/regist | contracts/registrars/DotnsPopController.sol:313 |
| reentrancy-benign | Reentrancy in DotnsNameEscrow.release(uint256) (contracts/escrow/DotnsNameEscrow.sol#369-422): External calls: - regis | contracts/escrow/DotnsNameEscrow.sol:369 |
| reentrancy-benign | Reentrancy in DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/r | contracts/registrars/DotnsPopController.sol:649 |
| reentrancy-events | Reentrancy in DotnsRegistrar.register(uint256,address,string) (contracts/registrars/DotnsRegistrar.sol#128-158): Extern | contracts/registrars/DotnsRegistrar.sol:128 |
| reentrancy-events | Reentrancy in DotnsPopController._issueDeviceNameWithReservation(IDotnsPopController.DeviceNameIssuanceWithReservation,b | contracts/registrars/DotnsPopController.sol:253 |
| reentrancy-events | Reentrancy in DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/regist | contracts/registrars/DotnsPopController.sol:313 |
| reentrancy-events | Reentrancy in DotnsPopController._syncPopRulesToHead(bytes32,address) (contracts/registrars/DotnsPopController.sol#1018- | contracts/registrars/DotnsPopController.sol:1018 |
| reentrancy-events | Reentrancy in DotnsPopController._issueDeviceName(IPopRules,IDotnsPopController.DeviceNameIssuance,bool) (contracts/regi | contracts/registrars/DotnsPopController.sol:285 |
| reentrancy-events | Reentrancy in DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/r | contracts/registrars/DotnsPopController.sol:649 |
| reentrancy-events | Reentrancy in StoreFactory.upgradeLabelStoreImplementation(address) (contracts/store/StoreFactory.sol#147-156): Externa | contracts/store/StoreFactory.sol:147 |
| reentrancy-events | Reentrancy in DotnsPopController._issueDeviceNameWithReservation(IDotnsPopController.DeviceNameIssuanceWithReservation,b | contracts/registrars/DotnsPopController.sol:253 |
| reentrancy-events | Reentrancy in DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/regist | contracts/registrars/DotnsPopController.sol:313 |
| reentrancy-events | Reentrancy in DotnsPopController.reservePersonhoodName(IDotnsPopController.PersonhoodNameReservation) (contracts/registr | contracts/registrars/DotnsPopController.sol:223 |
| reentrancy-events | Reentrancy in DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/regist | contracts/registrars/DotnsPopController.sol:313 |
| reentrancy-events | Reentrancy in DotnsPopController.reservePersonhoodName(IDotnsPopController.PersonhoodNameReservation) (contracts/registr | contracts/registrars/DotnsPopController.sol:223 |
| reentrancy-events | Reentrancy in DotnsRegistry.setSubnodeOwner(IDotnsRegistry.SubnodeRecord) (contracts/registry/DotnsRegistry.sol#75-132): | contracts/registry/DotnsRegistry.sol:75 |
| reentrancy-events | Reentrancy in DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/r | contracts/registrars/DotnsPopController.sol:649 |
| reentrancy-events | Reentrancy in StoreFactory.upgradeUserStoreImplementation(address) (contracts/store/StoreFactory.sol#199-204): External | contracts/store/StoreFactory.sol:199 |
| reentrancy-events | Reentrancy in DotnsPopController._enqueueReservation(IPopRules,bytes32,string,address) (contracts/registrars/DotnsPopCon | contracts/registrars/DotnsPopController.sol:755 |
| reentrancy-events | Reentrancy in DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPo | contracts/registrars/DotnsPopController.sol:459 |
| reentrancy-events | Reentrancy in DotnsPopController._issueDeviceNameWithReservation(IDotnsPopController.DeviceNameIssuanceWithReservation,b | contracts/registrars/DotnsPopController.sol:253 |
| reentrancy-events | Reentrancy in DotnsPopController._dropUserReservation(address) (contracts/registrars/DotnsPopController.sol#849-854): E | contracts/registrars/DotnsPopController.sol:849 |
| timestamp | DotnsNameEscrow.onERC721Received(address,address,uint256,bytes) (contracts/escrow/DotnsNameEscrow.sol#761-778) uses time | contracts/escrow/DotnsNameEscrow.sol:761 |
| timestamp | DotnsPopController._isExpired(uint64) (contracts/registrars/DotnsPopController.sol#745-747) uses timestamp for compariso | contracts/registrars/DotnsPopController.sol:745 |
| timestamp | PopRules._isLive(IPopRules.Reservation) (contracts/pop/PopRules.sol#435-437) uses timestamp for comparisons Dangerous c | contracts/pop/PopRules.sol:435 |
| timestamp | DotnsNameEscrow.claimRefundsBatch(uint256[]) (contracts/escrow/DotnsNameEscrow.sol#528-553) uses timestamp for compariso | contracts/escrow/DotnsNameEscrow.sol:528 |
| timestamp | DotnsNameWhitelist._isWindowOpen() (contracts/whitelist/DotnsNameWhitelist.sol#496-498) uses timestamp for comparisons | contracts/whitelist/DotnsNameWhitelist.sol:496 |
| timestamp | DotnsNameEscrow.redeem(uint256) (contracts/escrow/DotnsNameEscrow.sol#734-758) uses timestamp for comparisons Dangerous | contracts/escrow/DotnsNameEscrow.sol:734 |
| timestamp | DotnsNameEscrow.chargeTransferFee(IDotnsNameEscrow.ChargeTransferFeeParams) (contracts/escrow/DotnsNameEscrow.sol#321-36 | contracts/escrow/DotnsNameEscrow.sol:321 |
| timestamp | DotnsNameEscrow.release(uint256) (contracts/escrow/DotnsNameEscrow.sol#369-422) uses timestamp for comparisons Dangerou | contracts/escrow/DotnsNameEscrow.sol:369 |
| timestamp | PopRules._priceWithoutCheck(string,address,bool,uint256) (contracts/pop/PopRules.sol#250-283) uses timestamp for compari | contracts/pop/PopRules.sol:250 |
| timestamp | DotnsNameEscrow.claimRefund(uint256) (contracts/escrow/DotnsNameEscrow.sol#507-525) uses timestamp for comparisons Dang | contracts/escrow/DotnsNameEscrow.sol:507 |
| timestamp | DotnsNameEscrow.withdraw(uint256) (contracts/escrow/DotnsNameEscrow.sol#425-437) uses timestamp for comparisons Dangero | contracts/escrow/DotnsNameEscrow.sol:425 |
| timestamp | DotnsNameEscrow.isReclaimable(uint256) (contracts/escrow/DotnsNameEscrow.sol#712-731) uses timestamp for comparisons Da | contracts/escrow/DotnsNameEscrow.sol:712 |
| timestamp | DotnsRegistrarController.commit(bytes32) (contracts/registrars/DotnsRegistrarController.sol#145-155) uses timestamp for | contracts/registrars/DotnsRegistrarController.sol:145 |
| timestamp | DotnsPopController._issuePersonhoodName(IDotnsPopController.PersonhoodNameIssuance,bool) (contracts/registrars/DotnsPopC | contracts/registrars/DotnsPopController.sol:313 |
| timestamp | DotnsNameEscrow.deposit(IDotnsNameEscrow.DepositParams) (contracts/escrow/DotnsNameEscrow.sol#266-289) uses timestamp fo | contracts/escrow/DotnsNameEscrow.sol:266 |
| timestamp | PopRules._writeReservation(string,address) (contracts/pop/PopRules.sol#637-657) uses timestamp for comparisons Dangerou | contracts/pop/PopRules.sol:637 |
| timestamp | DotnsRegistrarController._consumeCommitment(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrar | contracts/registrars/DotnsRegistrarController.sol:367 |
| Check | Description | Location |
|---|---|---|
| assembly | DotnsRegistry._parentNamehash(string) (contracts/registry/DotnsRegistry.sol#242-273) uses assembly - INLINE ASM (contra | contracts/registry/DotnsRegistry.sol:242 |
| assembly | LabelUtils.namehashUnder(bytes32,bytes32) (contracts/utils/LabelUtils.sol#53-64) uses assembly - INLINE ASM (contracts/ | contracts/utils/LabelUtils.sol:53 |
| assembly | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) uses assembly - INLINE ASM | contracts/utils/Multicall3.sol:159 |
| assembly | LabelUtils.labelhashMemory(string) (contracts/utils/LabelUtils.sol#41-45) uses assembly - INLINE ASM (contracts/utils/L | contracts/utils/LabelUtils.sol:41 |
| assembly | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) uses assembly - INLINE ASM (contract | contracts/utils/Multicall3.sol:128 |
| assembly | LabelUtils.labelhash(string) (contracts/utils/LabelUtils.sol#26-33) uses assembly - INLINE ASM (contracts/utils/LabelUt | contracts/utils/LabelUtils.sol:26 |
| costly-loop | DotnsNameEscrow._removeRefundEntry(uint256,address) (contracts/escrow/DotnsNameEscrow.sol#661-679) has costly operations | contracts/escrow/DotnsNameEscrow.sol:661 |
| costly-loop | DotnsNameEscrow._removeRefundEntry(uint256,address) (contracts/escrow/DotnsNameEscrow.sol#661-679) has costly operations | contracts/escrow/DotnsNameEscrow.sol:661 |
| cyclomatic-complexity | DotnsPopLens._pageNames(address,uint256,uint256) (contracts/registrars/DotnsPopLens.sol#155-207) has a high cyclomatic c | contracts/registrars/DotnsPopLens.sol:155 |
| dead-code | DotnsRegistrar._popRules() (contracts/registrars/DotnsRegistrar.sol#403-405) is never used and should be removed | contracts/registrars/DotnsRegistrar.sol:403 |
| dead-code | DotnsRegistrar._escrow() (contracts/registrars/DotnsRegistrar.sol#398-400) is never used and should be removed | contracts/registrars/DotnsRegistrar.sol:398 |
| low-level-calls | Low level call in Multicall3.aggregate(Multicall3.Call[]) (contracts/utils/Multicall3.sol#42-60): - (success,returnData | contracts/utils/Multicall3.sol:42 |
| low-level-calls | Low level call in DotnsNameEscrow.claimRefund(uint256) (contracts/escrow/DotnsNameEscrow.sol#507-525): - (ok,None) = ad | contracts/escrow/DotnsNameEscrow.sol:507 |
| low-level-calls | Low level call in DotnsNameEscrow.claimRefundsBatch(uint256[]) (contracts/escrow/DotnsNameEscrow.sol#528-553): - (ok,No | contracts/escrow/DotnsNameEscrow.sol:528 |
| low-level-calls | Low level call in Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153): - (result.success | contracts/utils/Multicall3.sol:128 |
| low-level-calls | Low level call in Multicall3.tryAggregate(bool,Multicall3.Call[]) (contracts/utils/Multicall3.sol#67-89): - (result.suc | contracts/utils/Multicall3.sol:67 |
| low-level-calls | Low level call in Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190): - (resu | contracts/utils/Multicall3.sol:159 |
| low-level-calls | Low level call in DotnsRegistrarController.register(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsR | contracts/registrars/DotnsRegistrarController.sol:167 |
| low-level-calls | Low level call in DotnsNameEscrow.claimWithdrawal() (contracts/escrow/DotnsNameEscrow.sol#486-499): - (ok,None) = addre | contracts/escrow/DotnsNameEscrow.sol:486 |
| naming-convention | Variable PopRules.__gap (contracts/pop/PopRules.sol#62) is not in mixedCase | contracts/pop/PopRules.sol:62 |
| naming-convention | Variable DotnsNameEscrow.__gap (contracts/escrow/DotnsNameEscrow.sol#120) is not in mixedCase | contracts/escrow/DotnsNameEscrow.sol:120 |
| naming-convention | Variable DotnsProtocolRegistry.__gap (contracts/registry/DotnsProtocolRegistry.sol#53) is not in mixedCase | contracts/registry/DotnsProtocolRegistry.sol:53 |
| naming-convention | Variable StoreFactory.__gap (contracts/store/StoreFactory.sol#62) is not in mixedCase | contracts/store/StoreFactory.sol:62 |
| naming-convention | Variable DotnsPopController.__gap (contracts/registrars/DotnsPopController.sol#150) is not in mixedCase | contracts/registrars/DotnsPopController.sol:150 |
| naming-convention | Variable DotnsRegistrarController.__gap (contracts/registrars/DotnsRegistrarController.sol#77) is not in mixedCase | contracts/registrars/DotnsRegistrarController.sol:77 |
| naming-convention | Variable DotnsRegistrar.__gap (contracts/registrars/DotnsRegistrar.sol#66) is not in mixedCase | contracts/registrars/DotnsRegistrar.sol:66 |
| naming-convention | Parameter StringUtils.bytes32ToString(bytes32)._bytes32 (contracts/utils/StringUtils.sol#310) is not in mixedCase | contracts/utils/StringUtils.sol:310 |
| naming-convention | Variable UserStore.__gap (contracts/store/UserStore.sol#46) is not in mixedCase | contracts/store/UserStore.sol:46 |
| naming-convention | Variable DotnsResolver.__gap (contracts/resolvers/DotnsResolver.sol#37) is not in mixedCase | contracts/resolvers/DotnsResolver.sol:37 |
| naming-convention | Variable DotnsPopResolver.__gap (contracts/resolvers/DotnsPopResolver.sol#53) is not in mixedCase | contracts/resolvers/DotnsPopResolver.sol:53 |
| naming-convention | Variable DotnsContentResolver.__gap (contracts/resolvers/DotnsContentResolver.sol#49) is not in mixedCase | contracts/resolvers/DotnsContentResolver.sol:49 |
| naming-convention | Variable DotnsRegistry.__gap (contracts/registry/DotnsRegistry.sol#36) is not in mixedCase | contracts/registry/DotnsRegistry.sol:36 |
| naming-convention | Variable LabelStore.__gap (contracts/store/LabelStore.sol#47) is not in mixedCase | contracts/store/LabelStore.sol:47 |
| naming-convention | Variable DotnsReverseResolver.__gap (contracts/resolvers/DotnsReverseResolver.sol#44) is not in mixedCase | contracts/resolvers/DotnsReverseResolver.sol:44 |
| naming-convention | Variable DotnsNameWhitelist.__gap (contracts/whitelist/DotnsNameWhitelist.sol#86) is not in mixedCase | contracts/whitelist/DotnsNameWhitelist.sol:86 |
| too-many-digits | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) uses literals with too many | contracts/utils/Multicall3.sol:159 |
| too-many-digits | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) uses literals with too many | contracts/utils/Multicall3.sol:159 |
| too-many-digits | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) uses literals with too many digits: | contracts/utils/Multicall3.sol:128 |
| too-many-digits | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) uses literals with too many digits: | contracts/utils/Multicall3.sol:128 |
| too-many-digits | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) uses literals with too many | contracts/utils/Multicall3.sol:159 |
| too-many-digits | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) uses literals with too many | contracts/utils/Multicall3.sol:159 |
| too-many-digits | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) uses literals with too many digits: | contracts/utils/Multicall3.sol:128 |
| too-many-digits | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) uses literals with too many digits: | contracts/utils/Multicall3.sol:128 |
| unimplemented-functions | DotnsRegistrar (contracts/registrars/DotnsRegistrar.sol#35-486) does not implement functions: - IDotnsRegistrar.control | contracts/registrars/DotnsRegistrar.sol:35 |
| unused-state | DotnsNameEscrow.__gap (contracts/escrow/DotnsNameEscrow.sol#120) is never used in DotnsNameEscrow (contracts/escrow/Dotn | contracts/escrow/DotnsNameEscrow.sol:120 |
| unused-state | DotnsRegistry.__gap (contracts/registry/DotnsRegistry.sol#36) is never used in DotnsRegistry (contracts/registry/DotnsRe | contracts/registry/DotnsRegistry.sol:36 |
| unused-state | DotnsNameWhitelist.__gap (contracts/whitelist/DotnsNameWhitelist.sol#86) is never used in DotnsNameWhitelist (contracts/ | contracts/whitelist/DotnsNameWhitelist.sol:86 |
| unused-state | DotnsRegistrarController.__gap (contracts/registrars/DotnsRegistrarController.sol#77) is never used in DotnsRegistrarCon | contracts/registrars/DotnsRegistrarController.sol:77 |
| unused-state | DotnsProtocolRegistry.__gap (contracts/registry/DotnsProtocolRegistry.sol#53) is never used in DotnsProtocolRegistry (co | contracts/registry/DotnsProtocolRegistry.sol:53 |
| unused-state | UserStore.__gap (contracts/store/UserStore.sol#46) is never used in UserStore (contracts/store/UserStore.sol#23-204) | contracts/store/UserStore.sol:46 |
| unused-state | DotnsContentResolver.__gap (contracts/resolvers/DotnsContentResolver.sol#49) is never used in DotnsContentResolver (cont | contracts/resolvers/DotnsContentResolver.sol:49 |
| unused-state | DotnsPopResolver.__gap (contracts/resolvers/DotnsPopResolver.sol#53) is never used in DotnsPopResolver (contracts/resolv | contracts/resolvers/DotnsPopResolver.sol:53 |
| unused-state | PopRules.__gap (contracts/pop/PopRules.sol#62) is never used in PopRules (contracts/pop/PopRules.sol#39-658) | contracts/pop/PopRules.sol:62 |
| unused-state | DotnsResolver.__gap (contracts/resolvers/DotnsResolver.sol#37) is never used in DotnsResolver (contracts/resolvers/Dotns | contracts/resolvers/DotnsResolver.sol:37 |
| unused-state | DotnsRegistrar.__gap (contracts/registrars/DotnsRegistrar.sol#66) is never used in DotnsRegistrar (contracts/registrars/ | contracts/registrars/DotnsRegistrar.sol:66 |
| unused-state | LabelStore.__gap (contracts/store/LabelStore.sol#47) is never used in LabelStore (contracts/store/LabelStore.sol#27-190) | contracts/store/LabelStore.sol:47 |
| unused-state | DotnsReverseResolver.__gap (contracts/resolvers/DotnsReverseResolver.sol#44) is never used in DotnsReverseResolver (cont | contracts/resolvers/DotnsReverseResolver.sol:44 |
| unused-state | DotnsPopController.__gap (contracts/registrars/DotnsPopController.sol#150) is never used in DotnsPopController (contract | contracts/registrars/DotnsPopController.sol:150 |
| unused-state | StoreFactory.__gap (contracts/store/StoreFactory.sol#62) is never used in StoreFactory (contracts/store/StoreFactory.sol | contracts/store/StoreFactory.sol:62 |