The slower than expected adoption rate of blockchain technology has highlighted that there are barriers due to the diversity of its applications and its users. To overcome this limitation and take full advantage of the novel technology, researchers from academia as well as industry are dedicated to find different solutions, where two or more blockchains can interact with each other. As a result, several interoperability solutions have presented themselves. To investigate the functionalities and underlying mechanisms of interoperable blockchain solutions, researchers have conducted several surveys by discussing the features and innovations of these methods. However, the existing surveys tend to focus on the architectural description of the interoperability solutions and completely overlook the most promising aspect of blockchain adaptability, namely the smart contract. This paper fills the gap by exploring the role of smart contracts in blockchain interoperability solutions. Our research has classified the existing interoperability solutions into three main categories: heterogeneous blockchains and homogeneous smart contracts, homogeneous blockchains and homogeneous smart contracts, heterogeneous blockchains, and heterogeneous smart contracts. To provide a systematic overview of the smart contracts used in blockchain interoperability, each category is further divided into subcategories by identifying the functionalities of the smart contract used. Based on our survey, a taxonomy is proposed to help classify the blockchain interoperability solutions. The interoperability solutions in each category are analyzed in-depth, and the results are presented in tabular format to illustrate the characteristics of the interoperability solutions in a meaningful way. Finally, a number of open issues and research directions are discussed to overcome the limitations and improve the performance of blockchain interoperability.INDEX TERMS Blockchain interoperability, smart contracts, chain code, cross chain transactions, sidechains, decentralized applications, cryptocurrency, digital assets.