DotNS Slither Report

Generated 2026-08-27 19:53 UTC | 183 findings

High

3

Medium

43

Low

73

Informational

64

High (3)

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

Medium (43)

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

Low (73)

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

Informational (64)

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