Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ env
broadcast/
docs/
lib/
.venv/
.venv/

# Soldeer
dependencies/
8 changes: 2 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,10 @@ install-pre-commit:
### MODULES
#####################################
remove:
rm -rf lib
rm -rf dependencies

install:
forge install foundry-rs/forge-std --no-git
forge install Transient-Labs/tl-creator-contracts@3.3.0 --no-git
forge install dmfxyz/murky --no-git

update: remove install
forge soldeer install

#####################################
### BUILD
Expand Down
9 changes: 8 additions & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
libs = ["lib", "dependencies"]
evm_version = 'paris'
auto_detect_solc = true
optimizer = true
Expand Down Expand Up @@ -31,3 +31,10 @@ base_sepolia = { key = "${BASESCAN_KEY}", url = "https://api-sepolia.basescan.o
mainnet = { key = "${ETHERSCAN_KEY}"}
arbitrum = { key = "${ARBISCAN_KEY}", url = "https://api.arbiscan.io/api" }
base = { key = "${BASESCAN_KEY}", url = "https://api.basescan.org/api" }

[soldeer]
recursive_deps=true

[dependencies]
forge-std = "1.9.4"
tl-creator-contracts = "3.3.1"
19 changes: 2 additions & 17 deletions remappings.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,2 @@
@manifoldxyz/libraries-solidity/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/royalty-registry-solidity/lib/libraries-solidity/
@openzeppelin/contracts-upgradeable/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/openzeppelin-contracts-upgradeable/contracts/
@openzeppelin/contracts/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/openzeppelin-contracts/contracts/
create2-helpers/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/royalty-registry-solidity/lib/create2-helpers/
create2-scripts/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/royalty-registry-solidity/lib/create2-helpers/script/
ds-test/=lib/forge-std/lib/ds-test/src/
erc4626-tests/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/
forge-std/=lib/forge-std/src/
libraries-solidity/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/royalty-registry-solidity/lib/libraries-solidity/contracts/
murky/=lib/murky/src/
openzeppelin-contracts-upgradeable/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/openzeppelin-contracts-upgradeable/
openzeppelin-contracts/=lib/murky/lib/openzeppelin-contracts/
openzeppelin-upgradeable/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/openzeppelin-contracts-upgradeable/contracts/
openzeppelin/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/openzeppelin-contracts/contracts/
royalty-registry-solidity/=lib/tl-creator-contracts/lib/tl-sol-tools/lib/royalty-registry-solidity/contracts/
tl-creator-contracts/=lib/tl-creator-contracts/src/
tl-sol-tools/=lib/tl-creator-contracts/lib/tl-sol-tools/src/
forge-std-1.9.4/=dependencies/forge-std-1.9.4/src/
tl-creator-contracts-3.3.1/=dependencies/tl-creator-contracts-3.3.1/src/
4 changes: 2 additions & 2 deletions script/Deploy.s.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import "forge-std/Script.sol";
import {Strings} from "openzeppelin/utils/Strings.sol";
import "forge-std-1.9.4/Script.sol";
import {Strings} from "@openzeppelin-contracts-5.0.2/utils/Strings.sol";

interface ICreate2Deployer {
function deploy(uint256 value, bytes32 salt, bytes memory code) external;
Expand Down
13 changes: 13 additions & 0 deletions soldeer.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[[dependencies]]
name = "forge-std"
version = "1.9.4"
url = "https://soldeer-revisions.s3.amazonaws.com/forge-std/1_9_4_25-10-2024_14:36:59_forge-std-1.9.zip"
checksum = "b5be24beb5e4dab5e42221b2ad1288b64c826bee5ee71b6159ba93ffe86f14d4"
integrity = "3874463846ab995a6a9a88412913cacec6144f7605daa1af57c2d8bf3f210b13"

[[dependencies]]
name = "tl-creator-contracts"
version = "3.3.1"
url = "https://soldeer-revisions.s3.amazonaws.com/tl-creator-contracts/3_3_1_01-12-2024_22:40:58_tl-creator-contracts.zip"
checksum = "721036c50b35f4f6871bdc031ab636412833805d185627bba25a7d040f880667"
integrity = "25ac063a1b606e8ef7e69cb42e5f3cc729cb401bf237c8323ea3c35a8b2b176d"
12 changes: 6 additions & 6 deletions src/TLAuctionHouse.sol
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import {Ownable} from "openzeppelin/access/Ownable.sol";
import {Pausable} from "openzeppelin/utils/Pausable.sol";
import {ReentrancyGuard} from "openzeppelin/utils/ReentrancyGuard.sol";
import {IERC721} from "openzeppelin/token/ERC721/IERC721.sol";
import {TransferHelper} from "tl-sol-tools/payments/TransferHelper.sol";
import {SanctionsCompliance} from "tl-sol-tools/payments/SanctionsCompliance.sol";
import {Ownable} from "@openzeppelin-contracts-5.0.2/access/Ownable.sol";
import {Pausable} from "@openzeppelin-contracts-5.0.2/utils/Pausable.sol";
import {ReentrancyGuard} from "@openzeppelin-contracts-5.0.2/utils/ReentrancyGuard.sol";
import {IERC721} from "@openzeppelin-contracts-5.0.2/token/ERC721/IERC721.sol";
import {TransferHelper} from "tl-sol-tools-3.1.4/payments/TransferHelper.sol";
import {SanctionsCompliance} from "tl-sol-tools-3.1.4/payments/SanctionsCompliance.sol";
import {ListingType, Listing, ITLAuctionHouseEvents} from "./utils/TLAuctionHouseUtils.sol";
import {ICreatorLookup} from "./helpers/ICreatorLookup.sol";
import {IRoyaltyLookup} from "./helpers/IRoyaltyLookup.sol";
Expand Down
18 changes: 9 additions & 9 deletions src/TLStacks1155.sol
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import {Ownable} from "openzeppelin/access/Ownable.sol";
import {Pausable} from "openzeppelin/utils/Pausable.sol";
import {ReentrancyGuard} from "openzeppelin/utils/ReentrancyGuard.sol";
import {MerkleProof} from "openzeppelin/utils/cryptography/MerkleProof.sol";
import {IERC1155TL} from "tl-creator-contracts/erc-1155/IERC1155TL.sol";
import {TransferHelper} from "tl-sol-tools/payments/TransferHelper.sol";
import {SanctionsCompliance} from "tl-sol-tools/payments/SanctionsCompliance.sol";
import {OwnableAccessControl} from "tl-sol-tools/access/OwnableAccessControl.sol";
import {Ownable} from "@openzeppelin-contracts-5.0.2/access/Ownable.sol";
import {Pausable} from "@openzeppelin-contracts-5.0.2/utils/Pausable.sol";
import {ReentrancyGuard} from "@openzeppelin-contracts-5.0.2/utils/ReentrancyGuard.sol";
import {MerkleProof} from "@openzeppelin-contracts-5.0.2/utils/cryptography/MerkleProof.sol";
import {IERC1155TL} from "tl-creator-contracts-3.3.1/erc-1155/IERC1155TL.sol";
import {TransferHelper} from "tl-sol-tools-3.1.4/payments/TransferHelper.sol";
import {SanctionsCompliance} from "tl-sol-tools-3.1.4/payments/SanctionsCompliance.sol";
import {OwnableAccessControl} from "tl-sol-tools-3.1.4/access/OwnableAccessControl.sol";
import {DropPhase, DropType, DropErrors} from "./utils/CommonUtils.sol";
import {Drop, ITLStacks1155Events} from "./utils/TLStacks1155Utils.sol";

Expand Down Expand Up @@ -393,7 +393,7 @@ contract TLStacks1155 is
if (numberToMint == 0) revert MintZeroTokens();
if (dropPhase == DropPhase.PRESALE) {
bytes32 hashedRecipient = keccak256(abi.encode(recipient));
bytes32 leaf = keccak256(bytes.concat(keccak256(abi.encode(hashedRecipient, presaleNumberCanMint)))); // double hash to prevent second preimage attack: https://github.com/OpenZeppelin/openzeppelin-contracts/issues/3091
bytes32 leaf = keccak256(bytes.concat(keccak256(abi.encode(hashedRecipient, presaleNumberCanMint)))); // double hash to prevent second preimage attack: https://github.com/@openzeppelin-contracts-5.0.2/@openzeppelin-contracts-5.0.2-contracts/issues/3091
if (!MerkleProof.verify(proof, drop.presaleMerkleRoot, leaf)) revert NotOnAllowlist();
numberCanMint = _getNumberCanMint(presaleNumberCanMint, numberMinted, drop.supply);
} else if (dropPhase == DropPhase.PUBLIC_SALE) {
Expand Down
20 changes: 10 additions & 10 deletions src/TLStacks721.sol
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import {Ownable} from "openzeppelin/access/Ownable.sol";
import {Pausable} from "openzeppelin/utils/Pausable.sol";
import {ReentrancyGuard} from "openzeppelin/utils/ReentrancyGuard.sol";
import {MerkleProof} from "openzeppelin/utils/cryptography/MerkleProof.sol";
import {Strings} from "openzeppelin/utils/Strings.sol";
import {IERC721TL} from "tl-creator-contracts/erc-721/IERC721TL.sol";
import {TransferHelper} from "tl-sol-tools/payments/TransferHelper.sol";
import {SanctionsCompliance} from "tl-sol-tools/payments/SanctionsCompliance.sol";
import {OwnableAccessControl} from "tl-sol-tools/access/OwnableAccessControl.sol";
import {Ownable} from "@openzeppelin-contracts-5.0.2/access/Ownable.sol";
import {Pausable} from "@openzeppelin-contracts-5.0.2/utils/Pausable.sol";
import {ReentrancyGuard} from "@openzeppelin-contracts-5.0.2/utils/ReentrancyGuard.sol";
import {MerkleProof} from "@openzeppelin-contracts-5.0.2/utils/cryptography/MerkleProof.sol";
import {Strings} from "@openzeppelin-contracts-5.0.2/utils/Strings.sol";
import {IERC721TL} from "tl-creator-contracts-3.3.1/erc-721/IERC721TL.sol";
import {TransferHelper} from "tl-sol-tools-3.1.4/payments/TransferHelper.sol";
import {SanctionsCompliance} from "tl-sol-tools-3.1.4/payments/SanctionsCompliance.sol";
import {OwnableAccessControl} from "tl-sol-tools-3.1.4/access/OwnableAccessControl.sol";
import {DropPhase, DropType, DropErrors} from "./utils/CommonUtils.sol";
import {Drop, ITLStacks721Events} from "./utils/TLStacks721Utils.sol";

Expand Down Expand Up @@ -366,7 +366,7 @@ contract TLStacks721 is
if (numberToMint == 0) revert MintZeroTokens();
if (dropPhase == DropPhase.PRESALE) {
bytes32 hashedRecipient = keccak256(abi.encode(recipient));
bytes32 leaf = keccak256(bytes.concat(keccak256(abi.encode(hashedRecipient, presaleNumberCanMint)))); // double hash to prevent second preimage attack: https://github.com/OpenZeppelin/openzeppelin-contracts/issues/3091
bytes32 leaf = keccak256(bytes.concat(keccak256(abi.encode(hashedRecipient, presaleNumberCanMint)))); // double hash to prevent second preimage attack: https://github.com/@openzeppelin-contracts-5.0.2/@openzeppelin-contracts-5.0.2-contracts/issues/3091
if (!MerkleProof.verify(proof, drop.presaleMerkleRoot, leaf)) revert NotOnAllowlist();
numberCanMint = _getNumberCanMint(presaleNumberCanMint, numberMinted, drop.supply);
} else if (dropPhase == DropPhase.PUBLIC_SALE) {
Expand Down
2 changes: 1 addition & 1 deletion src/helpers/CreatorLookup.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
pragma solidity 0.8.22;

import {ICreatorLookup} from "./ICreatorLookup.sol";
import {Ownable} from "openzeppelin/access/Ownable.sol";
import {Ownable} from "@openzeppelin-contracts-5.0.2/access/Ownable.sol";

/// @title CreatorLookup.sol
/// @notice Contract to enable TLAuctionHouse to determine who the creator of the token is
Expand Down
6 changes: 3 additions & 3 deletions src/helpers/RoyaltyLookup.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
pragma solidity 0.8.22;

import {IRoyaltyLookup} from "./IRoyaltyLookup.sol";
import {Ownable} from "openzeppelin/access/Ownable.sol";
import {IRoyaltyEngineV1} from "royalty-registry-solidity/IRoyaltyEngineV1.sol";
import {IEIP2981} from "tl-sol-tools/royalties/IEIP2981.sol";
import {Ownable} from "@openzeppelin-contracts-5.0.2/access/Ownable.sol";
import {IRoyaltyEngineV1} from "royalty-registry-solidity-1.0.0/IRoyaltyEngineV1.sol";
import {IEIP2981} from "tl-sol-tools-3.1.4/royalties/IEIP2981.sol";

/// @title RoyaltyLookup.sol
/// @notice Contract to enable TLAuctionHouse to determine royalties to payout on secondary sales
Expand Down
24 changes: 12 additions & 12 deletions test/TLAuctionHouse.t.sol
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import "forge-std/Test.sol";
import "forge-std-1.9.4/Test.sol";
import {TLAuctionHouse} from "src/TLAuctionHouse.sol";
import {CreatorLookup} from "src/helpers/CreatorLookup.sol";
import {RoyaltyLookup} from "src/helpers/RoyaltyLookup.sol";
import {IERC20Errors, IERC721Errors} from "openzeppelin/interfaces/draft-IERC6093.sol";
import {OwnableUpgradeable} from "openzeppelin-upgradeable/access/OwnableUpgradeable.sol";
import {PausableUpgradeable} from "openzeppelin-upgradeable/utils/PausableUpgradeable.sol";
import {ERC721TL} from "tl-creator-contracts/erc-721/ERC721TL.sol";
import {WETH9} from "tl-sol-tools/../test/utils/WETH9.sol";
import {IChainalysisSanctionsOracle, SanctionsCompliance} from "tl-sol-tools/payments/SanctionsCompliance.sol";
import {IERC20Errors, IERC721Errors} from "@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol";
import {OwnableUpgradeable} from "@openzeppelin-contracts-upgradeable-5.0.2/access/OwnableUpgradeable.sol";
import {PausableUpgradeable} from "@openzeppelin-contracts-upgradeable-5.0.2/utils/PausableUpgradeable.sol";
import {ERC721TL} from "tl-creator-contracts-3.3.1/erc-721/ERC721TL.sol";
import {WETH9} from "tl-sol-tools-3.1.4/../test/utils/WETH9.sol";
import {IChainalysisSanctionsOracle, SanctionsCompliance} from "tl-sol-tools-3.1.4/payments/SanctionsCompliance.sol";
import {ITLAuctionHouseEvents, ListingType, Listing} from "src/utils/TLAuctionHouseUtils.sol";
import {Receiver, RevertingReceiver, RevertingBidder, GriefingBidder} from "test/utils/Receiver.sol";
import {MockERC20} from "test/utils/MockERC20.sol";
Expand Down Expand Up @@ -181,7 +181,7 @@ contract TLAuctionHouseTest is Test, ITLAuctionHouseEvents {

// sanctioned protocol fee recipient
ah.setSanctionsOracle(oracle);
vm.mockCall(oracle, IChainalysisSanctionsOracle.isSanctioned.selector, abi.encode(true));
vm.mockCall(oracle, abi.encodeWithSelector(IChainalysisSanctionsOracle.isSanctioned.selector), abi.encode(true));
vm.expectRevert(TLAuctionHouse.InvalidRecipient.selector);
ah.setProtocolFeeSettings(address(1), 100);
vm.clearMockedCalls();
Expand Down Expand Up @@ -3475,8 +3475,8 @@ contract TLAuctionHouseTest is Test, ITLAuctionHouseEvents {

function test_settleUp_royaltyLookupReverts() public {
// mock royalty lookup
vm.mockCallRevert(address(rl), RoyaltyLookup.getRoyalty.selector, "revert");
vm.mockCallRevert(address(rl), RoyaltyLookup.getRoyaltyView.selector, "revert");
vm.mockCallRevert(address(rl), abi.encodeWithSelector(RoyaltyLookup.getRoyalty.selector), "revert");
vm.mockCallRevert(address(rl), abi.encodeWithSelector(RoyaltyLookup.getRoyaltyView.selector), "revert");

// ensure 0 royalties returned
(address payable[] memory r,) = ah.getRoyalty(address(nft), 3, 10_000);
Expand Down Expand Up @@ -3525,7 +3525,7 @@ contract TLAuctionHouseTest is Test, ITLAuctionHouseEvents {
uint256[] memory amts = new uint256[](2);
amts[0] = 0;
amts[1] = 1;
vm.mockCall(address(rl), RoyaltyLookup.getRoyalty.selector, abi.encode(r, amts));
vm.mockCall(address(rl), abi.encodeWithSelector(RoyaltyLookup.getRoyalty.selector), abi.encode(r, amts));

// list nft
vm.startPrank(chris);
Expand Down Expand Up @@ -3612,7 +3612,7 @@ contract TLAuctionHouseTest is Test, ITLAuctionHouseEvents {
r[0] = payable(address(1));
uint256[] memory amts = new uint256[](1);
amts[0] = 1 ether;
vm.mockCall(address(rl), RoyaltyLookup.getRoyalty.selector, abi.encode(r, amts));
vm.mockCall(address(rl), abi.encodeWithSelector(RoyaltyLookup.getRoyalty.selector), abi.encode(r, amts));

// list nft
vm.startPrank(chris);
Expand Down
16 changes: 8 additions & 8 deletions test/TLStacks1155.t.sol
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import {Test} from "forge-std/Test.sol";
import {Merkle} from "murky/Merkle.sol";
import {IERC20Errors} from "openzeppelin/interfaces/draft-IERC6093.sol";
import {OwnableUpgradeable} from "openzeppelin-upgradeable/access/OwnableUpgradeable.sol";
import {PausableUpgradeable} from "openzeppelin-upgradeable/utils/PausableUpgradeable.sol";
import {ERC1155TL} from "tl-creator-contracts/erc-1155/ERC1155TL.sol";
import {WETH9} from "tl-sol-tools/../test/utils/WETH9.sol";
import {IChainalysisSanctionsOracle, SanctionsCompliance} from "tl-sol-tools/payments/SanctionsCompliance.sol";
import {Test} from "forge-std-1.9.4/Test.sol";
import {Merkle} from "test/utils/murky/Merkle.sol";
import {IERC20Errors} from "@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol";
import {OwnableUpgradeable} from "@openzeppelin-contracts-upgradeable-5.0.2/access/OwnableUpgradeable.sol";
import {PausableUpgradeable} from "@openzeppelin-contracts-upgradeable-5.0.2/utils/PausableUpgradeable.sol";
import {ERC1155TL} from "tl-creator-contracts-3.3.1/erc-1155/ERC1155TL.sol";
import {WETH9} from "tl-sol-tools-3.1.4/../test/utils/WETH9.sol";
import {IChainalysisSanctionsOracle, SanctionsCompliance} from "tl-sol-tools-3.1.4/payments/SanctionsCompliance.sol";
import {TLStacks1155} from "src/TLStacks1155.sol";
import {ITLStacks1155Events, Drop} from "src/utils/TLStacks1155Utils.sol";
import {DropPhase, DropType, DropErrors} from "src/utils/CommonUtils.sol";
Expand Down
18 changes: 9 additions & 9 deletions test/TLStacks721.t.sol
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import {Test} from "forge-std/Test.sol";
import {Merkle} from "murky/Merkle.sol";
import {Strings} from "openzeppelin/utils/Strings.sol";
import {IERC20Errors} from "openzeppelin/interfaces/draft-IERC6093.sol";
import {OwnableUpgradeable} from "openzeppelin-upgradeable/access/OwnableUpgradeable.sol";
import {PausableUpgradeable} from "openzeppelin-upgradeable/utils/PausableUpgradeable.sol";
import {ERC721TL} from "tl-creator-contracts/erc-721/ERC721TL.sol";
import {WETH9} from "tl-sol-tools/../test/utils/WETH9.sol";
import {IChainalysisSanctionsOracle, SanctionsCompliance} from "tl-sol-tools/payments/SanctionsCompliance.sol";
import {Test} from "forge-std-1.9.4/Test.sol";
import {Merkle} from "test/utils/murky/Merkle.sol";
import {Strings} from "@openzeppelin-contracts-5.0.2/utils/Strings.sol";
import {IERC20Errors} from "@openzeppelin-contracts-5.0.2/interfaces/draft-IERC6093.sol";
import {OwnableUpgradeable} from "@openzeppelin-contracts-upgradeable-5.0.2/access/OwnableUpgradeable.sol";
import {PausableUpgradeable} from "@openzeppelin-contracts-upgradeable-5.0.2/utils/PausableUpgradeable.sol";
import {ERC721TL} from "tl-creator-contracts-3.3.1/erc-721/ERC721TL.sol";
import {WETH9} from "tl-sol-tools-3.1.4/../test/utils/WETH9.sol";
import {IChainalysisSanctionsOracle, SanctionsCompliance} from "tl-sol-tools-3.1.4/payments/SanctionsCompliance.sol";
import {TLStacks721} from "src/TLStacks721.sol";
import {ITLStacks721Events, Drop} from "src/utils/TLStacks721Utils.sol";
import {DropPhase, DropType, DropErrors} from "src/utils/CommonUtils.sol";
Expand Down
6 changes: 3 additions & 3 deletions test/helpers/CreatorLookup.t.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

import "forge-std/Test.sol";
import "forge-std-1.9.4/Test.sol";
import {CreatorLookup, Ownable} from "src/helpers/CreatorLookup.sol";
import {ERC721TL} from "tl-creator-contracts/erc-721/ERC721TL.sol";
import {ERC721TL} from "tl-creator-contracts-3.3.1/erc-721/ERC721TL.sol";

contract CreatorLookupTest is Test {
CreatorLookup cl;
Expand All @@ -25,7 +25,7 @@ contract CreatorLookupTest is Test {
assertEq(fakeResult, address(0));

// reverting contract
vm.mockCallRevert(fakeNft, Ownable.owner.selector, "revert");
vm.mockCallRevert(fakeNft, abi.encodeWithSelector(Ownable.owner.selector), "revert");
fakeResult = cl.getCreator(fakeNft, tokenId);
assertEq(fakeResult, address(0));
vm.clearMockedCalls();
Expand Down
Loading