> For the complete documentation index, see [llms.txt](https://docs.play.cronos.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.play.cronos.org/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_walletconnect_client.md).

# com::crypto::game\_sdk::WalletconnectClient

WallnetConnect API.

`#include <lib.rs.h>`

Inherits from [rust::cxxbridge1::Opaque](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md)

## Public Functions

|                                                                                                                                                              | Name                                                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void                                                                                                                                                         | <p><a href="#function-setup-callback-blocking"><strong>setup\_callback\_blocking</strong></a>(::std::unique\_ptr<::<a href="/readme-1/classes/classcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_callback.md">com::crypto::game\_sdk::WalletConnectCallback</a> > usercallback)<br>setup callback</p>                                                                   |
| ::[com::crypto::game\_sdk::WalletConnectEnsureSessionResult](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_ensure_session_result.md) | <p><a href="#function-ensure-session-blocking"><strong>ensure\_session\_blocking</strong></a>()<br>create or restore a session once session is created, it will be reused</p>                                                                                                                                                                                           |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                    | <p><a href="#function-get-connection-string"><strong>get\_connection\_string</strong></a>()<br>get connection string for qrcode</p>                                                                                                                                                                                                                                     |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                    | <p><a href="#function-save-client"><strong>save\_client</strong></a>()<br>write session-info to string, which can be written to file</p>                                                                                                                                                                                                                                |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                    | <p><a href="#function-print-uri"><strong>print\_uri</strong></a>()<br>print qrcode in termal, for debugging</p>                                                                                                                                                                                                                                                         |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | <p><a href="#function-sign-personal-blocking"><strong>sign\_personal\_blocking</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> message, ::std::array<::std::uint8\_t, 20 > address)<br>sign message</p>                                                                                                               |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc20\_transfer**](#function-erc20-transfer)(::[com::crypto::game\_sdk::WalletConnectErc20Transfer](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc20_transfer.md) const & info)                                                                                                                                                           |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc721\_transfer**](#function-erc721-transfer)(::[com::crypto::game\_sdk::WalletConnectErc721Transfer](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc721_transfer.md) const & info)                                                                                                                                                       |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc1155\_transfer**](#function-erc1155-transfer)(::[com::crypto::game\_sdk::WalletConnectErc1155Transfer](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc1155_transfer.md) const & info)                                                                                                                                                   |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc1155\_transfer\_batch**](#function-erc1155-transfer-batch)(::[com::crypto::game\_sdk::WalletConnectErc1155Batch](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc1155_batch.md) const & info)                                                                                                                                            |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc20\_approve**](#function-erc20-approve)(::[com::crypto::game\_sdk::WalletConnectErc20Approve](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc20_approve.md) const & info)                                                                                                                                                               |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc721\_approve**](#function-erc721-approve)(::[com::crypto::game\_sdk::WalletConnectErc721Approve](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc721_approve.md) const & info)                                                                                                                                                           |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | [**erc1155\_approve**](#function-erc1155-approve)(::[com::crypto::game\_sdk::WalletConnectErc1155Approve](/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_erc1155_approve.md) const & info)                                                                                                                                                       |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                        | <p><a href="#function-sign-eip155-transaction-blocking"><strong>sign\_eip155\_transaction\_blocking</strong></a>(::<a href="/readme-1/classes/structcom_1_1crypto_1_1game__sdk_1_1_wallet_connect_tx_eip155.md">com::crypto::game\_sdk::WalletConnectTxEip155</a> const & info, ::std::array<::std::uint8\_t, 20 > address)<br>build cronos(eth) eip155 transaction</p> |
|                                                                                                                                                              | [**\~WalletconnectClient**](#function-~walletconnectclient)() =delete                                                                                                                                                                                                                                                                                                   |

## Additional inherited members

**Public Functions inherited from** [**rust::cxxbridge1::Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md)

|   | Name                                                                                                                                                                      |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)() =delete                                                                           |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)(const [Opaque](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md) & ) =delete |
|   | [**\~Opaque**](https://docs.play.cronos.org/readme-1/classes/pages/IwbpLC27SGQlr7Vu7bpD#function-~opaque)() =delete                                                       |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)() =delete                                                                           |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)(const [Opaque](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md) & ) =delete |
|   | [**\~Opaque**](https://docs.play.cronos.org/readme-1/classes/pages/IwbpLC27SGQlr7Vu7bpD#function-~opaque)() =delete                                                       |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)() =delete                                                                           |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)(const [Opaque](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md) & ) =delete |
|   | [**\~Opaque**](https://docs.play.cronos.org/readme-1/classes/pages/IwbpLC27SGQlr7Vu7bpD#function-~opaque)() =delete                                                       |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)() =delete                                                                           |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)(const [Opaque](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md) & ) =delete |
|   | [**\~Opaque**](https://docs.play.cronos.org/readme-1/classes/pages/IwbpLC27SGQlr7Vu7bpD#function-~opaque)() =delete                                                       |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)() =delete                                                                           |
|   | [**Opaque**](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md#function-opaque)(const [Opaque](/readme-1/classes/classrust_1_1cxxbridge1_1_1_opaque.md) & ) =delete |
|   | [**\~Opaque**](https://docs.play.cronos.org/readme-1/classes/pages/IwbpLC27SGQlr7Vu7bpD#function-~opaque)() =delete                                                       |

## Public Functions Documentation

### function setup\_callback\_blocking

```cpp
void setup_callback_blocking(
    ::std::unique_ptr<::com::crypto::game_sdk::WalletConnectCallback > usercallback
)
```

setup callback

### function ensure\_session\_blocking

```cpp
::com::crypto::game_sdk::WalletConnectEnsureSessionResult ensure_session_blocking()
```

create or restore a session once session is created, it will be reused

### function get\_connection\_string

```cpp
::rust::String get_connection_string()
```

get connection string for qrcode

### function save\_client

```cpp
::rust::String save_client()
```

write session-info to string, which can be written to file

### function print\_uri

```cpp
::rust::String print_uri()
```

print qrcode in termal, for debugging

### function sign\_personal\_blocking

```cpp
::rust::Vec<::std::uint8_t > sign_personal_blocking(
    ::rust::String message,
    ::std::array<::std::uint8_t, 20 > address
)
```

sign message

### function erc20\_transfer

```cpp
::rust::Vec<::std::uint8_t > erc20_transfer(
    ::com::crypto::game_sdk::WalletConnectErc20Transfer const & info
)
```

### function erc721\_transfer

```cpp
::rust::Vec<::std::uint8_t > erc721_transfer(
    ::com::crypto::game_sdk::WalletConnectErc721Transfer const & info
)
```

### function erc1155\_transfer

```cpp
::rust::Vec<::std::uint8_t > erc1155_transfer(
    ::com::crypto::game_sdk::WalletConnectErc1155Transfer const & info
)
```

### function erc1155\_transfer\_batch

```cpp
::rust::Vec<::std::uint8_t > erc1155_transfer_batch(
    ::com::crypto::game_sdk::WalletConnectErc1155Batch const & info
)
```

### function erc20\_approve

```cpp
::rust::Vec<::std::uint8_t > erc20_approve(
    ::com::crypto::game_sdk::WalletConnectErc20Approve const & info
)
```

### function erc721\_approve

```cpp
::rust::Vec<::std::uint8_t > erc721_approve(
    ::com::crypto::game_sdk::WalletConnectErc721Approve const & info
)
```

### function erc1155\_approve

```cpp
::rust::Vec<::std::uint8_t > erc1155_approve(
    ::com::crypto::game_sdk::WalletConnectErc1155Approve const & info
)
```

### function sign\_eip155\_transaction\_blocking

```cpp
::rust::Vec<::std::uint8_t > sign_eip155_transaction_blocking(
    ::com::crypto::game_sdk::WalletConnectTxEip155 const & info,
    ::std::array<::std::uint8_t, 20 > address
)
```

build cronos(eth) eip155 transaction

### function \~WalletconnectClient

```cpp
~WalletconnectClient() =delete
```

***

Updated on 2023-01-11 at 18:25:18 +0800
