Generated 2026-08-27 19:53 UTC | 183 findings
High
3
Medium
43
Low
73
Informational
64
| Check | Description | Location |
|---|---|---|
| arbitrary-send-eth | DotnsRegistrarController._settleEscrow(address,uint256,address,bool,uint256) (contracts/registrars/DotnsRegistrarControl | contracts/registrars/DotnsRegistrarController.sol:250 |
| arbitrary-send-eth | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) sends eth to arbitrary user | contracts/utils/Multicall3.sol:159 |
| 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#139-148) uses a dangerous st | contracts/registrars/DotnsRegistrarController.sol:139 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.reserveBaseName(IDotnsPopController.BaseReservation) (contracts/registrars/DotnsPopCont | contracts/registrars/DotnsPopController.sol:212 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.reserveBaseNameOnly(IDotnsPopController.BaseNameReservation) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:235 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopCo | contracts/registrars/DotnsPopController.sol:286 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.reserveBaseNameOnly(IDotnsPopController.BaseNameReservation) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:235 |
| reentrancy-no-eth | Reentrancy in DotnsPopController._releasePopRulesSlot(bytes32) (contracts/registrars/DotnsPopController.sol#891-896): E | contracts/registrars/DotnsPopController.sol:891 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopCo | contracts/registrars/DotnsPopController.sol:286 |
| reentrancy-no-eth | Reentrancy in DotnsPopController.reserveBaseName(IDotnsPopController.BaseReservation) (contracts/registrars/DotnsPopCont | contracts/registrars/DotnsPopController.sol:212 |
| uninitialized-local | StringUtils.stripDots(string).outputIndex (contracts/utils/StringUtils.sol#91) is a local variable never initialized | contracts/utils/StringUtils.sol:91 |
| uninitialized-local | DotnsPopController.reserveBaseName(IDotnsPopController.BaseReservation).reservedHash (contracts/registrars/DotnsPopContr | contracts/registrars/DotnsPopController.sol:214 |
| uninitialized-local | DotnsPopLens._pageNames(address,uint256,uint256,bool).seen (contracts/registrars/DotnsPopLens.sol#173) is a local variab | contracts/registrars/DotnsPopLens.sol:173 |
| uninitialized-local | DotnsNameEscrow._settleDeposit(IDotnsNameEscrow.ReleasePosition,uint256,address).fromInsurance (contracts/escrow/DotnsNa | contracts/escrow/DotnsNameEscrow.sol:461 |
| uninitialized-local | DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration).liteLabelhash (contracts/registrars/DotnsPopCo | contracts/registrars/DotnsPopController.sol:333 |
| uninitialized-local | DotnsRegistrarController.register(IDotnsRegistrarController.Registration).reverse (contracts/registrars/DotnsRegistrarCo | contracts/registrars/DotnsRegistrarController.sol:203 |
| uninitialized-local | DotnsPopLens._pageNames(address,uint256,uint256,bool).filled (contracts/registrars/DotnsPopLens.sol#172) is a local vari | contracts/registrars/DotnsPopLens.sol:172 |
| uninitialized-local | StringUtils._isLitePersonLabel(bytes).trailingDigits (contracts/utils/StringUtils.sol#174) is a local variable never ini | contracts/utils/StringUtils.sol:174 |
| uninitialized-local | StringUtils.stripDots(string).outputLength (contracts/utils/StringUtils.sol#82) is a local variable never initialized | contracts/utils/StringUtils.sol:82 |
| uninitialized-local | DotnsRegistrarController.register(IDotnsRegistrarController.Registration).setReverseRecord (contracts/registrars/DotnsRe | contracts/registrars/DotnsRegistrarController.sol:204 |
| uninitialized-local | DotnsRegistrar._update(address,uint256,address).positionSyncNeeded (contracts/registrars/DotnsRegistrar.sol#274) is a lo | contracts/registrars/DotnsRegistrar.sol:274 |
| uninitialized-local | StringUtils.isNamePath(string).start (contracts/utils/StringUtils.sol#197) is a local variable never initialized | contracts/utils/StringUtils.sol:197 |
| unused-return | DotnsNameWhitelist._activate(bytes32,string) (contracts/whitelist/DotnsNameWhitelist.sol#492-498) ignores return value b | contracts/whitelist/DotnsNameWhitelist.sol:492 |
| unused-return | DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:613 |
| unused-return | DotnsPopController._reserveLite(IPopRules,IDotnsPopController.LiteRegistration) (contracts/registrars/DotnsPopController | contracts/registrars/DotnsPopController.sol:261 |
| unused-return | DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopController.sol#2 | contracts/registrars/DotnsPopController.sol:286 |
| unused-return | StoreFactory.constructor(address,address) (contracts/store/StoreFactory.sol#76-83) ignores return value by IDotnsProtoco | contracts/store/StoreFactory.sol:76 |
| unused-return | DotnsPopLens._detail(bytes32) (contracts/registrars/DotnsPopLens.sol#230-253) ignores return value by (tier) = _popRules | contracts/registrars/DotnsPopLens.sol:230 |
| unused-return | DotnsPopController._settlePending(address,uint256) (contracts/registrars/DotnsPopController.sol#398-427) ignores return | contracts/registrars/DotnsPopController.sol:398 |
| unused-return | StoreFactory.upgradeLabelStoreImplementation(address) (contracts/store/StoreFactory.sol#128-137) ignores return value by | contracts/store/StoreFactory.sol:128 |
| unused-return | DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopController.sol#2 | contracts/registrars/DotnsPopController.sol:286 |
| unused-return | DotnsRegistrar._update(address,uint256,address) (contracts/registrars/DotnsRegistrar.sol#228-292) ignores return value b | contracts/registrars/DotnsRegistrar.sol:228 |
| unused-return | DotnsNameWhitelist.reject(string,address) (contracts/whitelist/DotnsNameWhitelist.sol#211-233) ignores return value by _ | contracts/whitelist/DotnsNameWhitelist.sol:211 |
| unused-return | DotnsRegistrarController.register(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrarController | contracts/registrars/DotnsRegistrarController.sol:151 |
| unused-return | DotnsNameWhitelist._deactivate(bytes32) (contracts/whitelist/DotnsNameWhitelist.sol#502-508) ignores return value by _ac | contracts/whitelist/DotnsNameWhitelist.sol:502 |
| unused-return | DotnsRegistry._writeSubnodeToStore(address,bytes32,string) (contracts/registry/DotnsRegistry.sol#202-211) ignores return | contracts/registry/DotnsRegistry.sol:202 |
| unused-return | StoreFactory.upgradeUserStoreImplementation(address) (contracts/store/StoreFactory.sol#179-184) ignores return value by | contracts/store/StoreFactory.sol:179 |
| unused-return | DotnsNameWhitelist.requestName(string,string,address) (contracts/whitelist/DotnsNameWhitelist.sol#165-193) ignores retur | contracts/whitelist/DotnsNameWhitelist.sol:165 |
| unused-return | DotnsNameWhitelist._clearClaimants(bytes32,address,string) (contracts/whitelist/DotnsNameWhitelist.sol#477-487) ignores | contracts/whitelist/DotnsNameWhitelist.sol:477 |
| unused-return | DotnsRegistrar._writeOwnerLabel(address,uint256,string) (contracts/registrars/DotnsRegistrar.sol#363-366) ignores return | contracts/registrars/DotnsRegistrar.sol:363 |
| unused-return | DotnsPopController._stashPendingClaim(address,string,bytes32) (contracts/registrars/DotnsPopController.sol#671-678) igno | contracts/registrars/DotnsPopController.sol:671 |
| unused-return | DotnsRegistrar._syncRecipientStore(IStoreFactory,address,address,uint256) (contracts/registrars/DotnsRegistrar.sol#295-3 | contracts/registrars/DotnsRegistrar.sol:295 |
| unused-return | DotnsPopController._validateReservableBaseLabel(IPopRules,string) (contracts/registrars/DotnsPopController.sol#829-844) | contracts/registrars/DotnsPopController.sol:829 |
| unused-return | DotnsRegistrarController.register(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrarController | contracts/registrars/DotnsRegistrarController.sol:151 |
| unused-return | DotnsNameWhitelist._nodeOf(string) (contracts/whitelist/DotnsNameWhitelist.sol#513-515) ignores return value by (None,no | contracts/whitelist/DotnsNameWhitelist.sol:513 |
| Check | Description | Location |
|---|---|---|
| shadowing-local | IDotnsPopResolver.setChatKey(bytes32,bytes).chatKey (contracts/resolvers/IDotnsPopResolver.sol#53) shadows: - IDotnsPop | contracts/resolvers/IDotnsPopResolver.sol:53 |
| shadowing-local | IDotnsRegistrarController.isWhiteListed(address).isWhiteListed (contracts/registrars/IDotnsRegistrarController.sol#184) | contracts/registrars/IDotnsRegistrarController.sol:184 |
| shadowing-local | IDotnsPopResolver.chatKey(bytes32).chatKey (contracts/resolvers/IDotnsPopResolver.sol#71) shadows: - IDotnsPopResolver. | contracts/resolvers/IDotnsPopResolver.sol:71 |
| events-maths | DotnsRegistrarController.initialize(IDotnsProtocolRegistry,uint256,uint256) (contracts/registrars/DotnsRegistrarControll | contracts/registrars/DotnsRegistrarController.sol:95 |
| missing-zero-check | RootGatewayDispatcher.constructor(address).target_ (contracts/registrars/RootGatewayDispatcher.sol#51) lacks a zero-chec | contracts/registrars/RootGatewayDispatcher.sol:51 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:433 |
| 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._countNames(address,bool) (contracts/registrars/DotnsPopLens.sol#123-147) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:123 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has external calls | contracts/registrars/DotnsPopLens.sol:154 |
| 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._ownedBy(IDotnsRegistrar,bytes32,address) (contracts/registrars/DotnsPopLens.sol#213-223) has external call | contracts/registrars/DotnsPopLens.sol:213 |
| calls-loop | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) has external calls inside a | contracts/utils/Multicall3.sol:159 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:433 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has external calls | contracts/registrars/DotnsPopLens.sol:154 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has external calls | contracts/registrars/DotnsPopLens.sol:154 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#661-664) has extern | contracts/registrars/DotnsPopController.sol:661 |
| calls-loop | DotnsPopLens._countNames(address,bool) (contracts/registrars/DotnsPopLens.sol#123-147) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:123 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has external calls | contracts/registrars/DotnsPopLens.sol:154 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:433 |
| calls-loop | DotnsPopLens._countNames(address,bool) (contracts/registrars/DotnsPopLens.sol#123-147) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:123 |
| calls-loop | DotnsPopLens._ownedBy(IDotnsRegistrar,bytes32,address) (contracts/registrars/DotnsPopLens.sol#213-223) has external call | contracts/registrars/DotnsPopLens.sol:213 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#661-664) has extern | contracts/registrars/DotnsPopController.sol:661 |
| calls-loop | DotnsPopLens._countNames(address,bool) (contracts/registrars/DotnsPopLens.sol#123-147) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:123 |
| calls-loop | DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPopController.so | contracts/registrars/DotnsPopController.sol:433 |
| 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 | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#661-664) has extern | contracts/registrars/DotnsPopController.sol:661 |
| 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 | DotnsNameWhitelist._nodeOf(string) (contracts/whitelist/DotnsNameWhitelist.sol#513-515) has external calls inside a loop | contracts/whitelist/DotnsNameWhitelist.sol:513 |
| calls-loop | DotnsPopLens._ownedBy(IDotnsRegistrar,bytes32,address) (contracts/registrars/DotnsPopLens.sol#213-223) has external call | contracts/registrars/DotnsPopLens.sol:213 |
| calls-loop | DotnsPopLens._countNames(address,bool) (contracts/registrars/DotnsPopLens.sol#123-147) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:123 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has external calls | contracts/registrars/DotnsPopLens.sol:154 |
| calls-loop | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has external calls | contracts/registrars/DotnsPopLens.sol:154 |
| calls-loop | DotnsPopLens._ownedBy(IDotnsRegistrar,bytes32,address) (contracts/registrars/DotnsPopLens.sol#213-223) has external call | contracts/registrars/DotnsPopLens.sol:213 |
| calls-loop | DotnsPopController._writeRecord(address,bytes32,string) (contracts/registrars/DotnsPopController.sol#661-664) has extern | contracts/registrars/DotnsPopController.sol:661 |
| calls-loop | DotnsPopLens._countNames(address,bool) (contracts/registrars/DotnsPopLens.sol#123-147) has external calls inside a loop: | contracts/registrars/DotnsPopLens.sol:123 |
| calls-loop | Multicall3.tryAggregate(bool,Multicall3.Call[]) (contracts/utils/Multicall3.sol#67-89) has external calls inside a loop: | contracts/utils/Multicall3.sol:67 |
| reentrancy-benign | Reentrancy in DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/r | contracts/registrars/DotnsPopController.sol:613 |
| reentrancy-benign | Reentrancy in DotnsNameEscrow.release(uint256) (contracts/escrow/DotnsNameEscrow.sol#351-404): External calls: - regis | contracts/escrow/DotnsNameEscrow.sol:351 |
| reentrancy-events | Reentrancy in DotnsPopController._reserveLite(IPopRules,IDotnsPopController.LiteRegistration) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:261 |
| reentrancy-events | Reentrancy in StoreFactory.upgradeUserStoreImplementation(address) (contracts/store/StoreFactory.sol#179-184): External | contracts/store/StoreFactory.sol:179 |
| reentrancy-events | Reentrancy in DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/r | contracts/registrars/DotnsPopController.sol:613 |
| reentrancy-events | Reentrancy in DotnsRegistry.setSubnodeOwner(IDotnsRegistry.SubnodeRecord) (contracts/registry/DotnsRegistry.sol#67-115): | contracts/registry/DotnsRegistry.sol:67 |
| reentrancy-events | Reentrancy in DotnsPopController.reserveBaseNameOnly(IDotnsPopController.BaseNameReservation) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:235 |
| reentrancy-events | Reentrancy in DotnsPopController._enqueueReservation(IPopRules,bytes32,string,address) (contracts/registrars/DotnsPopCon | contracts/registrars/DotnsPopController.sol:691 |
| reentrancy-events | Reentrancy in DotnsPopController.reserveBaseName(IDotnsPopController.BaseReservation) (contracts/registrars/DotnsPopCont | contracts/registrars/DotnsPopController.sol:212 |
| reentrancy-events | Reentrancy in DotnsPopController.reserveBaseNameOnly(IDotnsPopController.BaseNameReservation) (contracts/registrars/Dotn | contracts/registrars/DotnsPopController.sol:235 |
| reentrancy-events | Reentrancy in DotnsPopController.reserveBaseName(IDotnsPopController.BaseReservation) (contracts/registrars/DotnsPopCont | contracts/registrars/DotnsPopController.sol:212 |
| reentrancy-events | Reentrancy in DotnsPopController._completeGatewayRegistration(address,string,bytes32,bytes32,bytes,bytes32) (contracts/r | contracts/registrars/DotnsPopController.sol:613 |
| reentrancy-events | Reentrancy in DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopCo | contracts/registrars/DotnsPopController.sol:286 |
| reentrancy-events | Reentrancy in DotnsPopController.reserveBaseName(IDotnsPopController.BaseReservation) (contracts/registrars/DotnsPopCont | contracts/registrars/DotnsPopController.sol:212 |
| reentrancy-events | Reentrancy in DotnsPopController._settlePendingLabel(IStoreFactory,address,address,string) (contracts/registrars/DotnsPo | contracts/registrars/DotnsPopController.sol:433 |
| reentrancy-events | Reentrancy in DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopCo | contracts/registrars/DotnsPopController.sol:286 |
| reentrancy-events | Reentrancy in DotnsRegistrar.register(uint256,address,string) (contracts/registrars/DotnsRegistrar.sol#117-141): Extern | contracts/registrars/DotnsRegistrar.sol:117 |
| reentrancy-events | Reentrancy in DotnsPopController.relinquishReservation() (contracts/registrars/DotnsPopController.sol#370-375): Externa | contracts/registrars/DotnsPopController.sol:370 |
| reentrancy-events | Reentrancy in DotnsPopController._syncPopRulesToHead(bytes32,address) (contracts/registrars/DotnsPopController.sol#881-8 | contracts/registrars/DotnsPopController.sol:881 |
| reentrancy-events | Reentrancy in StoreFactory.upgradeLabelStoreImplementation(address) (contracts/store/StoreFactory.sol#128-137): Externa | contracts/store/StoreFactory.sol:128 |
| timestamp | PopRules._writeReservation(string,address) (contracts/pop/PopRules.sol#509-529) uses timestamp for comparisons Dangerou | contracts/pop/PopRules.sol:509 |
| timestamp | DotnsNameEscrow.chargeTransferFee(IDotnsNameEscrow.ChargeTransferFeeParams) (contracts/escrow/DotnsNameEscrow.sol#302-34 | contracts/escrow/DotnsNameEscrow.sol:302 |
| timestamp | DotnsNameEscrow.withdraw(uint256) (contracts/escrow/DotnsNameEscrow.sol#407-421) uses timestamp for comparisons Dangero | contracts/escrow/DotnsNameEscrow.sol:407 |
| timestamp | PopRules._isLive(IPopRules.Reservation) (contracts/pop/PopRules.sol#326-328) uses timestamp for comparisons Dangerous c | contracts/pop/PopRules.sol:326 |
| timestamp | DotnsRegistrarController.commit(bytes32) (contracts/registrars/DotnsRegistrarController.sol#139-148) uses timestamp for | contracts/registrars/DotnsRegistrarController.sol:139 |
| timestamp | DotnsNameEscrow.claimRefund(uint256) (contracts/escrow/DotnsNameEscrow.sol#508-526) uses timestamp for comparisons Dang | contracts/escrow/DotnsNameEscrow.sol:508 |
| timestamp | DotnsPopController.registerBaseName(IDotnsPopController.FullRegistration) (contracts/registrars/DotnsPopController.sol#2 | contracts/registrars/DotnsPopController.sol:286 |
| timestamp | DotnsRegistrarController._consumeCommitment(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrar | contracts/registrars/DotnsRegistrarController.sol:345 |
| timestamp | PopRules.priceWithoutCheck(string,address) (contracts/pop/PopRules.sol#190-219) uses timestamp for comparisons Dangerou | contracts/pop/PopRules.sol:190 |
| timestamp | DotnsNameWhitelist._isWindowOpen() (contracts/whitelist/DotnsNameWhitelist.sol#519-521) uses timestamp for comparisons | contracts/whitelist/DotnsNameWhitelist.sol:519 |
| timestamp | DotnsNameEscrow.release(uint256) (contracts/escrow/DotnsNameEscrow.sol#351-404) uses timestamp for comparisons Dangerou | contracts/escrow/DotnsNameEscrow.sol:351 |
| timestamp | DotnsPopController._isExpired(uint64) (contracts/registrars/DotnsPopController.sol#681-683) uses timestamp for compariso | contracts/registrars/DotnsPopController.sol:681 |
| timestamp | DotnsNameEscrow.deposit(IDotnsNameEscrow.DepositParams) (contracts/escrow/DotnsNameEscrow.sol#247-270) uses timestamp fo | contracts/escrow/DotnsNameEscrow.sol:247 |
| timestamp | DotnsNameEscrow.redeem(uint256) (contracts/escrow/DotnsNameEscrow.sol#735-759) uses timestamp for comparisons Dangerous | contracts/escrow/DotnsNameEscrow.sol:735 |
| timestamp | DotnsNameEscrow.isReclaimable(uint256) (contracts/escrow/DotnsNameEscrow.sol#713-732) uses timestamp for comparisons Da | contracts/escrow/DotnsNameEscrow.sol:713 |
| timestamp | DotnsNameEscrow.onERC721Received(address,address,uint256,bytes) (contracts/escrow/DotnsNameEscrow.sol#762-780) uses time | contracts/escrow/DotnsNameEscrow.sol:762 |
| timestamp | DotnsNameEscrow.claimRefundsBatch(uint256[]) (contracts/escrow/DotnsNameEscrow.sol#529-554) uses timestamp for compariso | contracts/escrow/DotnsNameEscrow.sol:529 |
| Check | Description | Location |
|---|---|---|
| assembly | LabelUtils.namehashUnder(bytes32,bytes32) (contracts/utils/LabelUtils.sol#52-63) uses assembly - INLINE ASM (contracts/ | contracts/utils/LabelUtils.sol:52 |
| assembly | RootGatewayDispatcher.fallback() (contracts/registrars/RootGatewayDispatcher.sol#64-76) uses assembly - INLINE ASM (con | contracts/registrars/RootGatewayDispatcher.sol:64 |
| assembly | LabelUtils.labelhashMemory(string) (contracts/utils/LabelUtils.sol#40-44) uses assembly - INLINE ASM (contracts/utils/L | contracts/utils/LabelUtils.sol:40 |
| assembly | Multicall3.aggregate3Value(Multicall3.Call3Value[]) (contracts/utils/Multicall3.sol#159-190) uses assembly - INLINE ASM | contracts/utils/Multicall3.sol:159 |
| assembly | LabelUtils.labelhash(string) (contracts/utils/LabelUtils.sol#25-32) uses assembly - INLINE ASM (contracts/utils/LabelUt | contracts/utils/LabelUtils.sol:25 |
| assembly | Multicall3.aggregate3(Multicall3.Call3[]) (contracts/utils/Multicall3.sol#128-153) uses assembly - INLINE ASM (contract | contracts/utils/Multicall3.sol:128 |
| assembly | DotnsRegistry._parentNamehash(string) (contracts/registry/DotnsRegistry.sol#217-248) uses assembly - INLINE ASM (contra | contracts/registry/DotnsRegistry.sol:217 |
| assembly | DotnsPopController._dispatchTyped(bytes4,bytes) (contracts/registrars/DotnsPopController.sol#923-930) uses assembly - I | contracts/registrars/DotnsPopController.sol:923 |
| costly-loop | DotnsNameEscrow._removeRefundEntry(uint256,address) (contracts/escrow/DotnsNameEscrow.sol#662-680) has costly operations | contracts/escrow/DotnsNameEscrow.sol:662 |
| costly-loop | DotnsNameEscrow._removeRefundEntry(uint256,address) (contracts/escrow/DotnsNameEscrow.sol#662-680) has costly operations | contracts/escrow/DotnsNameEscrow.sol:662 |
| cyclomatic-complexity | DotnsRegistrarController.register(IDotnsRegistrarController.Registration) (contracts/registrars/DotnsRegistrarController | contracts/registrars/DotnsRegistrarController.sol:151 |
| cyclomatic-complexity | DotnsPopLens._pageNames(address,uint256,uint256,bool) (contracts/registrars/DotnsPopLens.sol#154-208) has a high cycloma | contracts/registrars/DotnsPopLens.sol:154 |
| dead-code | DotnsRegistrar._popRules() (contracts/registrars/DotnsRegistrar.sol#349-351) is never used and should be removed | contracts/registrars/DotnsRegistrar.sol:349 |
| dead-code | DotnsRegistrar._escrow() (contracts/registrars/DotnsRegistrar.sol#344-346) is never used and should be removed | contracts/registrars/DotnsRegistrar.sol:344 |
| 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 RootGatewayDispatcher.fallback() (contracts/registrars/RootGatewayDispatcher.sol#64-76): - (ok,ret) = | contracts/registrars/RootGatewayDispatcher.sol:64 |
| 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 DotnsPopController._dispatchTyped(bytes4,bytes) (contracts/registrars/DotnsPopController.sol#923-930): | contracts/registrars/DotnsPopController.sol:923 |
| low-level-calls | Low level call in DotnsNameEscrow.claimRefund(uint256) (contracts/escrow/DotnsNameEscrow.sol#508-526): - (ok,None) = ad | contracts/escrow/DotnsNameEscrow.sol:508 |
| low-level-calls | Low level call in DotnsNameEscrow.claimWithdrawal() (contracts/escrow/DotnsNameEscrow.sol#487-500): - (ok,None) = addre | contracts/escrow/DotnsNameEscrow.sol:487 |
| 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:151 |
| low-level-calls | Low level call in DotnsNameEscrow.claimRefundsBatch(uint256[]) (contracts/escrow/DotnsNameEscrow.sol#529-554): - (ok,No | contracts/escrow/DotnsNameEscrow.sol:529 |
| naming-convention | Variable PopRules.__gap (contracts/pop/PopRules.sol#51) is not in mixedCase | contracts/pop/PopRules.sol:51 |
| naming-convention | Variable DotnsNameEscrow.__gap (contracts/escrow/DotnsNameEscrow.sol#121) is not in mixedCase | contracts/escrow/DotnsNameEscrow.sol:121 |
| naming-convention | Variable DotnsProtocolRegistry.__gap (contracts/registry/DotnsProtocolRegistry.sol#46) is not in mixedCase | contracts/registry/DotnsProtocolRegistry.sol:46 |
| naming-convention | Variable DotnsPopController.__gap (contracts/registrars/DotnsPopController.sol#156) is not in mixedCase | contracts/registrars/DotnsPopController.sol:156 |
| naming-convention | Parameter PopRules.initialize(uint256,IDotnsProtocolRegistry)._startingPrice (contracts/pop/PopRules.sol#71) is not in m | contracts/pop/PopRules.sol:71 |
| naming-convention | Variable DotnsRegistrarController.__gap (contracts/registrars/DotnsRegistrarController.sol#63) is not in mixedCase | contracts/registrars/DotnsRegistrarController.sol:63 |
| naming-convention | Variable DotnsRegistrar.__gap (contracts/registrars/DotnsRegistrar.sol#57) is not in mixedCase | contracts/registrars/DotnsRegistrar.sol:57 |
| naming-convention | Parameter StringUtils.bytes32ToString(bytes32)._bytes32 (contracts/utils/StringUtils.sol#253) is not in mixedCase | contracts/utils/StringUtils.sol:253 |
| naming-convention | Variable UserStore.__gap (contracts/store/UserStore.sol#40) is not in mixedCase | contracts/store/UserStore.sol:40 |
| naming-convention | Variable DotnsResolver.__gap (contracts/resolvers/DotnsResolver.sol#36) is not in mixedCase | contracts/resolvers/DotnsResolver.sol:36 |
| naming-convention | Variable DotnsPopResolver.__gap (contracts/resolvers/DotnsPopResolver.sol#50) is not in mixedCase | contracts/resolvers/DotnsPopResolver.sol:50 |
| naming-convention | Variable DotnsContentResolver.__gap (contracts/resolvers/DotnsContentResolver.sol#48) is not in mixedCase | contracts/resolvers/DotnsContentResolver.sol:48 |
| naming-convention | Variable DotnsRegistry.__gap (contracts/registry/DotnsRegistry.sol#35) is not in mixedCase | contracts/registry/DotnsRegistry.sol:35 |
| naming-convention | Variable RootGatewayDispatcher.TARGET (contracts/registrars/RootGatewayDispatcher.sol#48) is not in mixedCase | contracts/registrars/RootGatewayDispatcher.sol:48 |
| naming-convention | Variable LabelStore.__gap (contracts/store/LabelStore.sol#44) is not in mixedCase | contracts/store/LabelStore.sol:44 |
| naming-convention | Variable DotnsReverseResolver.__gap (contracts/resolvers/DotnsReverseResolver.sol#41) is not in mixedCase | contracts/resolvers/DotnsReverseResolver.sol:41 |
| naming-convention | Variable DotnsNameWhitelist.__gap (contracts/whitelist/DotnsNameWhitelist.sol#79) is not in mixedCase | contracts/whitelist/DotnsNameWhitelist.sol:79 |
| 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#33-430) does not implement functions: - IDotnsRegistrar.control | contracts/registrars/DotnsRegistrar.sol:33 |
| unused-state | DotnsNameEscrow.__gap (contracts/escrow/DotnsNameEscrow.sol#121) is never used in DotnsNameEscrow (contracts/escrow/Dotn | contracts/escrow/DotnsNameEscrow.sol:121 |
| unused-state | DotnsRegistry.__gap (contracts/registry/DotnsRegistry.sol#35) is never used in DotnsRegistry (contracts/registry/DotnsRe | contracts/registry/DotnsRegistry.sol:35 |
| unused-state | DotnsNameWhitelist.__gap (contracts/whitelist/DotnsNameWhitelist.sol#79) is never used in DotnsNameWhitelist (contracts/ | contracts/whitelist/DotnsNameWhitelist.sol:79 |
| unused-state | DotnsRegistrarController.__gap (contracts/registrars/DotnsRegistrarController.sol#63) is never used in DotnsRegistrarCon | contracts/registrars/DotnsRegistrarController.sol:63 |
| unused-state | DotnsProtocolRegistry.__gap (contracts/registry/DotnsProtocolRegistry.sol#46) is never used in DotnsProtocolRegistry (co | contracts/registry/DotnsProtocolRegistry.sol:46 |
| unused-state | UserStore.__gap (contracts/store/UserStore.sol#40) is never used in UserStore (contracts/store/UserStore.sol#21-182) | contracts/store/UserStore.sol:40 |
| unused-state | DotnsContentResolver.__gap (contracts/resolvers/DotnsContentResolver.sol#48) is never used in DotnsContentResolver (cont | contracts/resolvers/DotnsContentResolver.sol:48 |
| unused-state | DotnsPopResolver.__gap (contracts/resolvers/DotnsPopResolver.sol#50) is never used in DotnsPopResolver (contracts/resolv | contracts/resolvers/DotnsPopResolver.sol:50 |
| unused-state | PopRules.__gap (contracts/pop/PopRules.sol#51) is never used in PopRules (contracts/pop/PopRules.sol#29-530) | contracts/pop/PopRules.sol:51 |
| unused-state | DotnsResolver.__gap (contracts/resolvers/DotnsResolver.sol#36) is never used in DotnsResolver (contracts/resolvers/Dotns | contracts/resolvers/DotnsResolver.sol:36 |
| unused-state | DotnsRegistrar.__gap (contracts/registrars/DotnsRegistrar.sol#57) is never used in DotnsRegistrar (contracts/registrars/ | contracts/registrars/DotnsRegistrar.sol:57 |
| unused-state | LabelStore.__gap (contracts/store/LabelStore.sol#44) is never used in LabelStore (contracts/store/LabelStore.sol#24-184) | contracts/store/LabelStore.sol:44 |
| unused-state | DotnsReverseResolver.__gap (contracts/resolvers/DotnsReverseResolver.sol#41) is never used in DotnsReverseResolver (cont | contracts/resolvers/DotnsReverseResolver.sol:41 |
| unused-state | DotnsPopController.__gap (contracts/registrars/DotnsPopController.sol#156) is never used in DotnsPopController (contract | contracts/registrars/DotnsPopController.sol:156 |