Skip to content

Update PR.yml

Update PR.yml #33

Triggered via push November 3, 2024 19:08
Status Success
Total duration 55s
Billable time 2m
Artifacts

ci.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

1 error and 38 warnings
[eslint] .github/scripts/comment.js: .github/scripts/comment.js#L0
Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser. The file was not found in any of the provided project(s): .github/scripts/comment.js
[solhint] contracts/NftInvestmentFund.sol#L83 <gas-custom-errors>: contracts/NftInvestmentFund.sol#L83
GC: Use Custom Errors instead of require statements
[solhint] contracts/NftInvestmentFund.sol#L95 <gas-custom-errors>: contracts/NftInvestmentFund.sol#L95
GC: Use Custom Errors instead of require statements
[solhint] contracts/NftInvestmentFund.sol#L116 <gas-custom-errors>: contracts/NftInvestmentFund.sol#L116
GC: Use Custom Errors instead of require statements
[solhint] contracts/NftInvestmentFund.sol#L152 <gas-custom-errors>: contracts/NftInvestmentFund.sol#L152
GC: Use Custom Errors instead of require statements
[solhint] contracts/NftInvestmentFund.sol#L183 <gas-custom-errors>: contracts/NftInvestmentFund.sol#L183
GC: Use Custom Errors instead of require statements
[solhint] contracts/NftInvestmentFund.sol#L187 <gas-custom-errors>: contracts/NftInvestmentFund.sol#L187
GC: Use Custom Errors instead of require statements
[prettier] .github/scripts/comment.js: .github/scripts/comment.js#L0
File is not properly formatted.
[prettier] Code: Code#L0
style issues found in the above file. Run Prettier with --write to fix. File is not properly formatted.
[Slither] contracts/NftInvestmentFund.sol#L90-L102 <0-1-reentrancy-eth>: contracts/NftInvestmentFund.sol#L90
Reentrancy in [NftInvestmentFund.withdraw()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L90-L102): External calls: - [(sent,None) = address(msg.sender).call{value: withdrawAmount}()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L94) State variables written after the call(s): - [balanceAtEnd -= withdrawAmount](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L98) [NftInvestmentFund.balanceAtEnd](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L24) can be used in cross function reentrancies: - [NftInvestmentFund.balanceAtEnd](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L24) - [NftInvestmentFund.closeFund()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L182-L192) - [NftInvestmentFund.constructor(string,string,uint256,uint256,uint256)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L40-L60) - [NftInvestmentFund.withdraw()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L90-L102) - [fundTokensAtEnd -= fundToken.balanceOf(msg.sender)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L99) [NftInvestmentFund.fundTokensAtEnd](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L23) can be used in cross function reentrancies: - [NftInvestmentFund.closeFund()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L182-L192) - [NftInvestmentFund.fundTokensAtEnd](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L23) - [NftInvestmentFund.withdraw()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftInvestmentFund.sol#L90-L102)
[Slither] contracts/NftExchange.sol#L63-L75 <0-1-reentrancy-eth>: contracts/NftExchange.sol#L63
Reentrancy in [NftExchange.buyNFT(uint256)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L63-L75): External calls: - [(sent,None) = listing.seller.call{value: listing.price}()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L68) - [IERC721(listing.nftContract).safeTransferFrom(address(this),msg.sender,listing.nftTokenId)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L70) External calls sending eth: - [(sent,None) = listing.seller.call{value: listing.price}()](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L68) State variables written after the call(s): - [listing.isSold = true](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L72) [NftExchange.listings](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L22) can be used in cross function reentrancies: - [NftExchange.buyNFT(uint256)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L63-L75) - [NftExchange.listings](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L22) - [NftExchange.sellNFT(address,uint256,uint256)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L41-L57)
[Slither] contracts/NftInvestmentFund.sol#L146-L162 <2-1-reentrancy-benign>: contracts/NftInvestmentFund.sol#L146
[Slither] contracts/NftExchange.sol#L41-L57 <2-1-reentrancy-benign>: contracts/NftExchange.sol#L41
Reentrancy in [NftExchange.sellNFT(address,uint256,uint256)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L41-L57): External calls: - [IERC721(nftContract).safeTransferFrom(msg.sender,address(this),nftTokenId)](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L42) State variables written after the call(s): - [listingId = _nextListingId ++](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L44) - [listings[listingId] = Listing({listingId:listingId,nftContract:nftContract,nftTokenId:nftTokenId,seller:address(msg.sender),price:price,isSold:false})](https://github.com/ftsrg/sme4dd-eth-lab2/blob/5a232811d7b67f020c1841b782ddf9d18189d79b/contracts/NftExchange.sol#L46-L53)