cryptokitties-bounty-2 icon indicating copy to clipboard operation
cryptokitties-bounty-2 copied to clipboard

Bug bounty program for CryptoKitties Offers feature smart contract

Results 29 cryptokitties-bounty-2 issues
Sort by recently updated
recently updated
newest added

### Description Query tokensOfOwner always timeout ### Reproduction https://etherscan.io/token/0x06012c8cf97bead5deae237070f9587f8e7a266d#readContract

The winners of the CryptoKitties Offers bug bounty are as follows: Submitter | Point total | BugCat V2 -- | -- | -- @sunsetlover | 300 | Yes @TomLeeFounder |...

Please forgive my naive take on this feature. I'm curious what the pros and cons are of the escrow workflow put in place. On one end of the spectrum, this...

question

### Description `.updateOffer()` updates both the `offer.total` property and the `offer.expiresAt` property of an `offer` struct. However, it writes each of these changes in two separate writes to storage. We...

### Description The `Offer` struct is composed of two 256-bit words. Since the function `.updateOffer()` only updates a portion of this struct (the `total` and the `expiresAt` portions), we can...

### Description All of the following functions perform an unnecessary read from storage (which is costly in gas): `.cancelOffer()`, `.fulfillOffer()`, and `.batchRemoveExpired()`. Each of these functions calls `tokenIdToOffer[tokenId]` twice, rather...

### Description I had originally believed that these typecasts were necessary. However, I was disproven in issues #9, #11, #13, #14. There are nine unnecessary typecasts to uint256. If you...

### Description Consider adding "indexed" keyword next to the event parameters like address, IDs, etc. The indexed parameters allow filtering events by a specific value. ### Impact This is only...

### Description OffersAccessControl.sol has a function withdrawTotalLostAndFoundBalance() with the onlyLostAndFound modifier which checks if the msg.sender is the lostAndFoundAddress: `require(msg.sender == lostAndFoundAddress, "only LostAndFound is allowed to perform this operation");`...

### Description As the gas inefficiencies are also in the scope, I would like to suggest packing variables in struct more efficiently. OffersBase.sol has an Offer struct: ``` struct Offer...