open-index/open-npm huggingface dataset:
npm package: @routerprotocol/router-crosstalk-utils
Description: A plug-and-play library to integrate the Router CrossTalk easily to create cross-chain smart contracts
Author: Router Protocol
Latest version: 1.0.6

# CrossTalkUtils Library

Router's CrossTalk library is an extensible cross-chain framework that enables seamless state transitions across multiple chains. In simple terms, this library leverages Router's infrastructure to allow contracts on one chain to communicate with contracts deployed on some other chain. The library is structured in a way that it can be integrated seamlessly into your development environment to allow for cross-chain message passing without disturbing other parts of your product.

To make it easy to integrate Router CrossTalk in your contracts, we have created a CrossTalkUtils plug-and-play library. It gives you the following functionalities:

1.  Sending a single payload to a contract on the destination chain without an acknowledgement.
2.  Sending a single payload to a contract on the destination chain while also handling an acknowledgement on the source chain.
3.  Sending multiple payloads to different contracts on the destination chain without an acknowledgement.
4.  Sending multiple payloads to different contracts on the destination chain while also handling an acknowledgement on the source chain.
5.  Functions to convert type address to type bytes and vice-versa.
6.  If your calls were atomic, either all the calls will execute or none will execute on the destination chain. In this case, when you receive the acknowledgement, you can use a function (**`getTxStatusForAtomicCall`**) in the library to know whether the calls were executed on the destination chain. If, in case, your calls were not successful, you can call a function (**`getTheIndexOfCallFailure`**) in the library to know the index of call which failed on the destination chain.

The documentation for this library can be found here: [router-crosstalk-utils docs](https://router-chain-docs.vercel.app/crosstalk/crosstalkutils-library)