Banner
https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/f43baf69-16fe-4713-8441-e7804efb53e8.png

zzykxx

Security Researcher

Contact Me

High

50

Total

Medium

3

Solo

40

Total

$202.11K

Total Earnings

#40 All Time

24x

Payouts

gold

8x

1st Places

silver

5x

2nd Places

bronze

2x

3rd Places

All

Sherlock

Code4rena

Feb '24Mar '24Apr '24May '24Sep '24Feb '25

Sep '24

Flayer

Flayer

21,711.09 USDC • 23 total findings • Sherlock • zzykxx

bronze

high

NFTs in protected listings that are unlocked but not withdrawn can be stolen

high

Native tokens donations to UniswapV4 pools can be stolen by adding/removing liquidity before/after a swap

high

Quorum votes downcasting in `CollectionShutdown.sol` leads to lower quorum and stolen funds

high

Voters can't withdraw their collection tokens after a shutdown is canceled

high

It's possible to cancel a shutdown after it's been executed

high

It's possible to create listings with an arbitrary start timestamp

high

Relisting liquidated listings should not distribute taxes and refunds

high

`ProtectedListings::_createCheckpoint()` returns wrong checkpoint index in some cases

high

`ProtectedListings::adjustPosition()` doesn't adjust the taxes to pay

high

First liquidity providers lose all of their assets

high

Lack of caller validation in `InfernalRiftAbove::claimRoyalties()` allows to steal royalties

high

`InfernalRiftBelow` lacks a way to withdraw ERC1155 royalties

high

`Listings::reserve()` doesn't delete the old listing

high

`Listings::reserve()` doesn't clear the `isLiquidation[collection][tokenId]` mapping

high

Protected listings checkpoints are not always updated when the total supply changes

high

Collection tokens fees price can be manipulated in the `beforeSwap()` hook

medium

`CollectionShutdown::execute()` doesn't ensure that all locked NFTs are sold

medium

Fee exemptions are never applied

medium

If the royalties receiver it's a smart contract it might be impossible to collect L2 royalties

medium

Moongate assumes royalties are always implemented as a fixed percentage of the price, leading to discrepancies or locked tokens

medium

`UniswapImplementation::beforeSwap()` might revert when swapping native tokens to collection tokens

medium

Maximum borrowable amount in protected listings should be lower

medium

`initializeCollection()` doesn't refund native tokens

Jun '24

dHEDGE

dHEDGE

37,720.77 USDC • Sherlock • zzykxx

silver

Findings not publicly available for private contests.

Dec '22

Forgeries contest

Forgeries contest

45.71 USDC • Code4rena • zzykxx

#21

Nov '22

Chainlink Staking contest

Chainlink Staking contest

19,328.84 USDC • Code4rena • zzykxx

gold