// Contract: TitanNFTBurns
// Target function: function addTitanBurns(uint256 titanId, address contractAddress, uint256 tokenId) external
/**
 *Submitted for verification at Etherscan.io on 2023-04-12
*/

/**
 *Submitted for verification at Etherscan.io on 2023-04-04
*/

// SPDX-License-Identifier: MIT

/*
      ___________.__  __
      \__    ___/|__|/  |______    ____
        |    |   |  \   __\__  \  /    \
        |    |   |  ||  |  / __ \|   |  \
        |____|   |__||__| (____  /___|  /
                               \/     \/
      Trade any NFT for new Titan Bonuses
   We don't need no water, let that mfer burn!
*/

pragma solidity ^0.8.0;

interface IERC721 {
    function ownerOf(uint256 tokenId) external view returns (address owner);

    function getApproved(uint256 tokenId) external view returns (address);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface IERC1155 {
    function balanceOf(
        address account,
        uint256 id
    ) external view returns (uint256);

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes calldata data
    ) external;
}

contract TitanNFTBurns {
    address public immutable DEAD = 0x000000000000000000000000000000000000dEaD;
    address public immutable Titans = 0x21d6Fe3B109808Fc69CDaF9829457B0d780Bd975;
    address public immutable LiquidDeployer = 0x866cfDa1B7cD90Cd250485cd8b700211480845D7;

    struct TitanBurns {
        address theContract;
        uint256[] theTokens;
    }

    mapping(uint256 => TitanBurns[]) public titanBurns;

    constructor() {}

    function getTitanBurns(uint256 titanId) public view returns (TitanBurns[] memory) {
        return titanBurns[titanId];
    }