interface INFTDistributor {
    // Returns the merkle root of the merkle tree containing account balances available to claim.
    function merkleRoot() external view returns (bytes32);
    // Returns true if the index has been marked claimed.
    function isClaimed(uint256 index) external view returns (bool);

    // This event is triggered whenever a call to #claim succeeds.
    event Claimed(uint256 index, address account, uint256 code);
}
// Allows anyone to claim a token if they exist in a merkle root.
function merkleRoot() external view returns (bytes32);

// Returns the merkle root of the merkle tree containing account balances available to claim.