Omniscia Tangible Audit
TangibleReaderHelperV2 Manual Review Findings
TangibleReaderHelperV2 Manual Review Findings
TRH-01M: Potentially Inexposed Function Integration
Type | Severity | Location |
---|---|---|
Logical Fault | TangibleReaderHelperV2.sol:L100 |
Description:
The IMarketplace::_idToMarketItem
function integrated by the TangibleReaderHelperV2::getPiNFTMarketItemBatch
function does not appear to be exposed by the MarketplaceV2
implementation.
Example:
contracts/TangibleReaderHelperV2.sol
92function getPiNFTMarketItemBatch(93 uint256[] calldata tokenIds94) external view returns (IMarketplace.MarketItem[] memory marketItems) {95 uint256 length = tokenIds.length;96 marketItems = new IMarketplace.MarketItem[](length);97 IMarketplace piMarketplace = passiveNft.marketplace();98
99 for (uint256 i; i < length; ) {100 marketItems[i] = piMarketplace._idToMarketItem(tokenIds[i]);101 unchecked {102 ++i;103 }104 }105}
Recommendation:
We advise the Tangible team to revise their integration point as it appears to fail based on the current codebase's implementation.
Alleviation (2ad448279d9e8e4b6edd94bcd2eb22129b6f7357):
The Tangible team revisited this integration and identified that the function is properly exposed by the piMarketplace
implementation, rendering this exhibit nullified.