> 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/namespaces/namespaceorg_1_1defi__wallet__core.md).

# org::defi\_wallet\_core

## Classes

|        | Name                                                                                                                                                                             |
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| struct | [**org::defi\_wallet\_core::BaseNft**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_base_nft.md)                                                                        |
| struct | [**org::defi\_wallet\_core::Collection**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_collection.md)                                                                   |
| struct | [**org::defi\_wallet\_core::CosmosAccountInfoRaw**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_account_info_raw.md)                                            |
| struct | [**org::defi\_wallet\_core::CosmosSDKMsgRaw**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_msg_raw.md)                                                    |
| struct | [**org::defi\_wallet\_core::CosmosSDKTxInfoRaw**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md)                                             |
| struct | [**org::defi\_wallet\_core::CosmosTransactionReceiptRaw**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_transaction_receipt_raw.md)                              |
| struct | [**org::defi\_wallet\_core::CppLoginInfo**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cpp_login_info.md)                                                             |
| struct | [**org::defi\_wallet\_core::CronosTransactionReceiptRaw**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cronos_transaction_receipt_raw.md)                              |
| struct | [**org::defi\_wallet\_core::Denom**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_denom.md)                                                                             |
| struct | [**org::defi\_wallet\_core::Erc1155**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_erc1155.md)                                                                         |
| struct | [**org::defi\_wallet\_core::Erc20**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_erc20.md)                                                                             |
| struct | [**org::defi\_wallet\_core::Erc721**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_erc721.md)                                                                           |
| struct | [**org::defi\_wallet\_core::EthContract**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_contract.md)                                                                |
| struct | [**org::defi\_wallet\_core::EthTxInfoRaw**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_tx_info_raw.md)                                                            |
| struct | [**org::defi\_wallet\_core::GrpcClient**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_grpc_client.md)                                                                  |
| struct | [**org::defi\_wallet\_core::IdCollection**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_id_collection.md)                                                              |
| struct | [**org::defi\_wallet\_core::Owner**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_owner.md)                                                                             |
| struct | <p><a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_pagination.md"><strong>org::defi\_wallet\_core::Pagination</strong></a><br>struct for efficient pagination</p> |
| struct | [**org::defi\_wallet\_core::PrivateKey**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md)                                                                  |
| struct | [**org::defi\_wallet\_core::U256**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                               |
| struct | [**org::defi\_wallet\_core::U256WithOverflow**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256_with_overflow.md)                                                     |
| struct | [**org::defi\_wallet\_core::Wallet**](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_wallet.md)                                                                           |

## Types

|                                                                                                                    | Name                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| enum class ::std::uint8\_t                                                                                         | [**CoinType**](#enum-cointype) { CryptoOrgMainnet = 0, CryptoOrgTestnet = 1, CronosMainnet = 2, CosmosHub = 3, Ethereum = 4} |
| enum class ::std::uint8\_t                                                                                         | [**MnemonicWordCount**](#enum-mnemonicwordcount) { Twelve = 0, Eighteen = 1, TwentyFour = 2}                                 |
| enum class ::std::uint8\_t                                                                                         | [**EthAmount**](#enum-ethamount) { WeiDecimal = 0, GweiDecimal = 1, EthDecimal = 2}                                          |
| using ::[org::defi\_wallet\_core::Pagination](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_pagination.md) | [**Pagination**](#using-pagination)                                                                                          |

## Functions

|                                                                                                                                                                                          | Name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ::[org::defi\_wallet\_core::Erc20](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_erc20.md)                                                                                       | <p><a href="#function-new-erc20"><strong>new\_erc20</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> web3api\_url, ::std::uint64\_t chian\_id)<br>Construct an <a href="/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md">Erc20</a> struct.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ::[org::defi\_wallet\_core::Erc721](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_erc721.md)                                                                                     | <p><a href="#function-new-erc721"><strong>new\_erc721</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> web3api\_url, ::std::uint64\_t chian\_id)<br>Construct an <a href="/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md">Erc721</a> struct.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ::[org::defi\_wallet\_core::Erc1155](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_erc1155.md)                                                                                   | <p><a href="#function-new-erc1155"><strong>new\_erc1155</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> web3api\_url, ::std::uint64\_t chian\_id)<br>Construct an <a href="/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md">Erc1155</a> struct.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::EthContract](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_contract.md) >    | [**new\_eth\_contract**](#function-new-eth-contract)(::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) rpcserver, ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) contact\_address, ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) abi\_json)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::EthContract](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_contract.md) >    | [**new\_signing\_eth\_contract**](#function-new-signing-eth-contract)(::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) rpcserver, ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) contact\_address, ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) abi\_json, ::[org::defi\_wallet\_core::PrivateKey](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md) const & private\_key)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                                                | [**read\_json**](#function-read-json)(::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) filepath, ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md) keyname)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                                                | <p><a href="#function-query-account-details"><strong>query\_account\_details</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> api\_url, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> address)<br>query account details from cosmos address</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ::[org::defi\_wallet\_core::CosmosAccountInfoRaw](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_account_info_raw.md)                                                      | <p><a href="#function-query-account-details-info"><strong>query\_account\_details\_info</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> api\_url, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> address)<br>query account details info from cosmos address</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ::[org::defi\_wallet\_core::CosmosTransactionReceiptRaw](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_transaction_receipt_raw.md)                                        | <p><a href="#function-broadcast-tx"><strong>broadcast\_tx</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> tendermint\_rpc\_url, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md">rust::Vec</a><::std::uint8\_t > raw\_signed\_tx)<br>broadcast the cosmos transaction</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                                                | <p><a href="#function-query-account-balance"><strong>query\_account\_balance</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> grpc\_url, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom)<br>query account balance from cosmos address and denom name</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-msg-signed-tx"><strong>get\_msg\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_msg_raw.md">org::defi\_wallet\_core::CosmosSDKMsgRaw</a> const & msg)<br>creates the signed transaction for cosmos</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-single-bank-send-signdoc"><strong>get\_single\_bank\_send\_signdoc</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md">rust::Vec</a><::std::uint8\_t > sender\_pubkey, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> recipient\_address, ::std::uint64\_t amount, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom)<br>creates the transaction signing payload (<code>SignDoc</code>) for <code>MsgSend</code> from the Cosmos SDK bank module</p>                                                                                                                                                                                                                                                                                                                               |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-single-bank-send-signed-tx"><strong>get\_single\_bank\_send\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> recipient\_address, ::std::uint64\_t amount, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom)<br>creates the signed transaction for <code>MsgSend</code> from the Cosmos SDK bank module</p>                                                                                                                                                                                                                                                                                                                            |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::Wallet](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_wallet.md) >               | <p><a href="#function-new-wallet"><strong>new\_wallet</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> password, ::<a href="#enum-mnemonicwordcount">org::defi\_wallet\_core::MnemonicWordCount</a> word\_count)<br>generates the HD wallet with a BIP39 backup phrase (English words) and password</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                                                | <p><a href="#function-generate-mnemonics"><strong>generate\_mnemonics</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> password, ::<a href="#enum-mnemonicwordcount">org::defi\_wallet\_core::MnemonicWordCount</a> word\_count)<br>generate mnemonics</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::Wallet](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_wallet.md) >               | <p><a href="#function-restore-wallet"><strong>restore\_wallet</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> mnemonic, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> password)<br>recovers/imports HD wallet from a BIP39 backup phrase (English words) and password</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::PrivateKey](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md) >      | <p><a href="#function-new-privatekey"><strong>new\_privatekey</strong></a>()<br>generates a random private key</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::PrivateKey](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md) >      | <p><a href="#function-new-privatekey-from-bytes"><strong>new\_privatekey\_from\_bytes</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md">rust::Vec</a><::std::uint8\_t > bytes)<br>constructs private key from bytes</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::PrivateKey](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md) >      | <p><a href="#function-new-privatekey-from-hex"><strong>new\_privatekey\_from\_hex</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> hex)<br>constructs private key from hex string</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-staking-delegate-signed-tx"><strong>get\_staking\_delegate\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> validator\_address, ::std::uint64\_t amount, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom, bool with\_reward\_withdrawal)<br>creates the signed transaction for <code>MsgDelegate</code> from the Cosmos SDK staking module</p>                                                                                                                                                                                                                                                                                       |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-staking-redelegate-signed-tx"><strong>get\_staking\_redelegate\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> validator\_src\_address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> validator\_dst\_address, ::std::uint64\_t amount, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom, bool with\_reward\_withdrawal)<br>creates the signed transaction for <code>MsgBeginRedelegate</code> from the Cosmos SDK staking module</p>                                                                                                                                                         |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-staking-unbond-signed-tx"><strong>get\_staking\_unbond\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> validator\_address, ::std::uint64\_t amount, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom, bool with\_reward\_withdrawal)<br>creates the signed transaction for <code>MsgUndelegate</code> from the Cosmos SDK staking module</p>                                                                                                                                                                                                                                                                                         |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-distribution-set-withdraw-address-signed-tx"><strong>get\_distribution\_set\_withdraw\_address\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> withdraw\_address)<br>creates the signed transaction for <code>MsgSetWithdrawAddress</code> from the Cosmos SDK distributon module</p>                                                                                                                                                                                                                                                                                                                                                                                          |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-distribution-withdraw-reward-signed-tx"><strong>get\_distribution\_withdraw\_reward\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> validator\_address)<br>creates the signed transaction for <code>MsgWithdrawDelegatorReward</code> from the Cosmos SDK distributon module</p>                                                                                                                                                                                                                                                                                                                                                                                               |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-ibc-transfer-signed-tx"><strong>get\_ibc\_transfer\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> receiver, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> source\_port, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> source\_channel, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom, ::std::uint64\_t token, ::std::uint64\_t revision\_height, ::std::uint64\_t revision\_number, ::std::uint64\_t timeout\_timestamp)<br>creates the signed transaction for <code>MsgTransfer</code> from the Cosmos SDK ibc module</p>                         |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::CppLoginInfo](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cpp_login_info.md) > | <p><a href="#function-new-logininfo"><strong>new\_logininfo</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> msg)<br>Create Login Info by <code>msg</code> all information from the EIP-4361 plaintext message: <a href="https://eips.ethereum.org/EIPS/eip-4361"><https://eips.ethereum.org/EIPS/eip-4361></a>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ::[org::defi\_wallet\_core::EthTxInfoRaw](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_tx_info_raw.md)                                                                      | <p><a href="#function-new-eth-tx-info"><strong>new\_eth\_tx\_info</strong></a>()<br>create cronos tx info to sign</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-build-eth-signed-tx"><strong>build\_eth\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_tx_info_raw.md">org::defi\_wallet\_core::EthTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> network, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & secret\_key)<br>sign cronos tx with private key</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-build-eth-signed-tx"><strong>build\_eth\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_eth_tx_info_raw.md">org::defi\_wallet\_core::EthTxInfoRaw</a> tx\_info, ::std::uint64\_t chain\_id, bool legacy, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & secret\_key)<br>sign cronos tx with private key in custom network</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ::[org::defi\_wallet\_core::U256](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                                         | <p><a href="#function-get-eth-balance"><strong>get\_eth\_balance</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> api\_url)<br>given the account address, it returns the amount of native token it owns</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ::[rust::String](/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md)                                                                                                                | <p><a href="#function-get-eth-nonce"><strong>get\_eth\_nonce</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> address, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> api\_url)<br>Returns the corresponding account's nonce / number of transactions sent from it.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ::[org::defi\_wallet\_core::CronosTransactionReceiptRaw](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cronos_transaction_receipt_raw.md)                                        | <p><a href="#function-broadcast-eth-signed-raw-tx"><strong>broadcast\_eth\_signed\_raw\_tx</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md">rust::Vec</a><::std::uint8\_t > raw\_tx, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> web3api\_url, ::std::uint64\_t polling\_interval\_ms)<br>broadcast signed cronos tx</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| void                                                                                                                                                                                     | <p><a href="#function-set-cronos-httpagent"><strong>set\_cronos\_httpagent</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_str.md">rust::Str</a> agent)<br>set cronos http-agent name</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-nft-issue-denom-signed-tx"><strong>get\_nft\_issue\_denom\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> name, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> schema)<br>creates the signed transaction for <code>MsgIssueDenom</code> from the Chainmain nft module</p>                                                                                                                                                                                                                                                                       |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-nft-mint-signed-tx"><strong>get\_nft\_mint\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom\_id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> name, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> uri, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> data, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> recipient)<br>creates the signed transaction for <code>MsgMintNft</code> from the Chainmain nft module</p> |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-nft-edit-signed-tx"><strong>get\_nft\_edit\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom\_id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> name, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> uri, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> data)<br>creates the signed transaction for <code>MsgEditNft</code> from the Chainmain nft module</p>                                                                                                 |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-nft-transfer-signed-tx"><strong>get\_nft\_transfer\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom\_id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> recipient)<br>creates the signed transaction for <code>MsgTransferNft</code> from the Chainmain nft module</p>                                                                                                                                                                                                                                                                     |
| ::[rust::Vec](/readme-1/classes/classrust_1_1cxxbridge1_1_1_vec.md)<::std::uint8\_t >                                                                                                    | <p><a href="#function-get-nft-burn-signed-tx"><strong>get\_nft\_burn\_signed\_tx</strong></a>(::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_cosmos_s_d_k_tx_info_raw.md">org::defi\_wallet\_core::CosmosSDKTxInfoRaw</a> tx\_info, ::<a href="/readme-1/classes/structorg_1_1defi__wallet__core_1_1_private_key.md">org::defi\_wallet\_core::PrivateKey</a> const & private\_key, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> id, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> denom\_id)<br>creates the signed transaction for <code>MsgBurnNft</code> from the Chainmain nft module</p>                                                                                                                                                                                                                                                                                                                                                                                 |
| ::[rust::Box](/readme-1/classes/classrust_1_1cxxbridge1_1_1_box.md)<::[org::defi\_wallet\_core::GrpcClient](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_grpc_client.md) >      | <p><a href="#function-new-grpc-client"><strong>new\_grpc\_client</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> grpc\_url)<br>Create a new grpc client.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ::[org::defi\_wallet\_core::U256](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                                         | <p><a href="#function-u256"><strong>u256</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> value)<br>Convert from a decimal string.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ::[org::defi\_wallet\_core::U256](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                                         | <p><a href="#function-u256"><strong>u256</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> txt, ::std::uint32\_t radix)<br>Converts a string slice in a given base to an integer.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ::[org::defi\_wallet\_core::U256](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                                         | <p><a href="#function-u256-max-value"><strong>u256\_max\_value</strong></a>()<br>The maximum value which can be inhabited by this type.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ::[org::defi\_wallet\_core::U256](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                                         | <p><a href="#function-parse-ether"><strong>parse\_ether</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> eth)<br>Converts the input to a <a href="/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md">U256</a> and converts from Ether to Wei.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ::[org::defi\_wallet\_core::U256](/readme-1/classes/structorg_1_1defi__wallet__core_1_1_u256.md)                                                                                         | <p><a href="#function-parse-units"><strong>parse\_units</strong></a>(::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> amount, ::<a href="/readme-1/classes/classrust_1_1cxxbridge1_1_1_string.md">rust::String</a> units)<br>Multiplies the provided amount with 10^{units} provided.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

## Types Documentation

### enum CoinType

| Enumerator       | Value | Description               |
| ---------------- | ----- | ------------------------- |
| CryptoOrgMainnet | 0     | Crypto.org Chain mainnet. |
| CryptoOrgTestnet | 1     | Crypto.org Chain testnet. |
| CronosMainnet    | 2     | Cronos mainnet beta.      |
| CosmosHub        | 3     | Cosmos Hub mainnet.       |
| Ethereum         | 4     | Ethereum.                 |

### enum MnemonicWordCount

| Enumerator | Value | Description |
| ---------- | ----- | ----------- |
| Twelve     | 0     | Word 12.    |
| Eighteen   | 1     | Word 18.    |
| TwentyFour | 2     | Word 24.    |

### enum EthAmount

| Enumerator  | Value | Description |
| ----------- | ----- | ----------- |
| WeiDecimal  | 0     | 10^-18 ETH  |
| GweiDecimal | 1     | 10^-9 ETH   |
| EthDecimal  | 2     |             |

### using Pagination

```cpp
using org::defi_wallet_core::Pagination = typedef ::org::defi_wallet_core::Pagination;
```

## Functions Documentation

### function new\_erc20

```cpp
::org::defi_wallet_core::Erc20 new_erc20(
    ::rust::String address,
    ::rust::String web3api_url,
    ::std::uint64_t chian_id
)
```

Construct an [Erc20](/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md) struct.

```cpp
Erc20 erc20 = new_erc20("0xf0307093f23311FE6776a7742dB619EB3df62969",
   "https://evm-dev-t3.cronos.org", 338);
```

### function new\_erc721

```cpp
::org::defi_wallet_core::Erc721 new_erc721(
    ::rust::String address,
    ::rust::String web3api_url,
    ::std::uint64_t chian_id
)
```

Construct an [Erc721](/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md) struct.

### function new\_erc1155

```cpp
::org::defi_wallet_core::Erc1155 new_erc1155(
    ::rust::String address,
    ::rust::String web3api_url,
    ::std::uint64_t chian_id
)
```

Construct an [Erc1155](/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md) struct.

### function new\_eth\_contract

```cpp
::rust::Box<::org::defi_wallet_core::EthContract > new_eth_contract(
    ::rust::String rpcserver,
    ::rust::String contact_address,
    ::rust::String abi_json
)
```

### function new\_signing\_eth\_contract

```cpp
::rust::Box<::org::defi_wallet_core::EthContract > new_signing_eth_contract(
    ::rust::String rpcserver,
    ::rust::String contact_address,
    ::rust::String abi_json,
    ::org::defi_wallet_core::PrivateKey const & private_key
)
```

### function read\_json

```cpp
::rust::String read_json(
    ::rust::String filepath,
    ::rust::String keyname
)
```

### function query\_account\_details

```cpp
::rust::String query_account_details(
    ::rust::String api_url,
    ::rust::String address
)
```

query account details from cosmos address

### function query\_account\_details\_info

```cpp
::org::defi_wallet_core::CosmosAccountInfoRaw query_account_details_info(
    ::rust::String api_url,
    ::rust::String address
)
```

query account details info from cosmos address

### function broadcast\_tx

```cpp
::org::defi_wallet_core::CosmosTransactionReceiptRaw broadcast_tx(
    ::rust::String tendermint_rpc_url,
    ::rust::Vec<::std::uint8_t > raw_signed_tx
)
```

broadcast the cosmos transaction

### function query\_account\_balance

```cpp
::rust::String query_account_balance(
    ::rust::String grpc_url,
    ::rust::String address,
    ::rust::String denom
)
```

query account balance from cosmos address and denom name

### function get\_msg\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_msg_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::org::defi_wallet_core::CosmosSDKMsgRaw const & msg
)
```

creates the signed transaction for cosmos

### function get\_single\_bank\_send\_signdoc

```cpp
::rust::Vec<::std::uint8_t > get_single_bank_send_signdoc(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::rust::Vec<::std::uint8_t > sender_pubkey,
    ::rust::String recipient_address,
    ::std::uint64_t amount,
    ::rust::String denom
)
```

creates the transaction signing payload (`SignDoc`) for `MsgSend` from the Cosmos SDK bank module

### function get\_single\_bank\_send\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_single_bank_send_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String recipient_address,
    ::std::uint64_t amount,
    ::rust::String denom
)
```

creates the signed transaction for `MsgSend` from the Cosmos SDK bank module

### function new\_wallet

```cpp
::rust::Box<::org::defi_wallet_core::Wallet > new_wallet(
    ::rust::String password,
    ::org::defi_wallet_core::MnemonicWordCount word_count
)
```

generates the HD wallet with a BIP39 backup phrase (English words) and password

### function generate\_mnemonics

```cpp
::rust::String generate_mnemonics(
    ::rust::String password,
    ::org::defi_wallet_core::MnemonicWordCount word_count
)
```

generate mnemonics

### function restore\_wallet

```cpp
::rust::Box<::org::defi_wallet_core::Wallet > restore_wallet(
    ::rust::String mnemonic,
    ::rust::String password
)
```

recovers/imports HD wallet from a BIP39 backup phrase (English words) and password

### function new\_privatekey

```cpp
::rust::Box<::org::defi_wallet_core::PrivateKey > new_privatekey()
```

generates a random private key

### function new\_privatekey\_from\_bytes

```cpp
::rust::Box<::org::defi_wallet_core::PrivateKey > new_privatekey_from_bytes(
    ::rust::Vec<::std::uint8_t > bytes
)
```

constructs private key from bytes

### function new\_privatekey\_from\_hex

```cpp
::rust::Box<::org::defi_wallet_core::PrivateKey > new_privatekey_from_hex(
    ::rust::String hex
)
```

constructs private key from hex string

### function get\_staking\_delegate\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_staking_delegate_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String validator_address,
    ::std::uint64_t amount,
    ::rust::String denom,
    bool with_reward_withdrawal
)
```

creates the signed transaction for `MsgDelegate` from the Cosmos SDK staking module

### function get\_staking\_redelegate\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_staking_redelegate_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String validator_src_address,
    ::rust::String validator_dst_address,
    ::std::uint64_t amount,
    ::rust::String denom,
    bool with_reward_withdrawal
)
```

creates the signed transaction for `MsgBeginRedelegate` from the Cosmos SDK staking module

### function get\_staking\_unbond\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_staking_unbond_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String validator_address,
    ::std::uint64_t amount,
    ::rust::String denom,
    bool with_reward_withdrawal
)
```

creates the signed transaction for `MsgUndelegate` from the Cosmos SDK staking module

### function get\_distribution\_set\_withdraw\_address\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_distribution_set_withdraw_address_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String withdraw_address
)
```

creates the signed transaction for `MsgSetWithdrawAddress` from the Cosmos SDK distributon module

### function get\_distribution\_withdraw\_reward\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_distribution_withdraw_reward_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String validator_address
)
```

creates the signed transaction for `MsgWithdrawDelegatorReward` from the Cosmos SDK distributon module

### function get\_ibc\_transfer\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_ibc_transfer_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String receiver,
    ::rust::String source_port,
    ::rust::String source_channel,
    ::rust::String denom,
    ::std::uint64_t token,
    ::std::uint64_t revision_height,
    ::std::uint64_t revision_number,
    ::std::uint64_t timeout_timestamp
)
```

creates the signed transaction for `MsgTransfer` from the Cosmos SDK ibc module

### function new\_logininfo

```cpp
::rust::Box<::org::defi_wallet_core::CppLoginInfo > new_logininfo(
    ::rust::String msg
)
```

Create Login Info by `msg` all information from the EIP-4361 plaintext message: <https://eips.ethereum.org/EIPS/eip-4361>.

### function new\_eth\_tx\_info

```cpp
::org::defi_wallet_core::EthTxInfoRaw new_eth_tx_info()
```

create cronos tx info to sign

### function build\_eth\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > build_eth_signed_tx(
    ::org::defi_wallet_core::EthTxInfoRaw tx_info,
    ::rust::Str network,
    ::org::defi_wallet_core::PrivateKey const & secret_key
)
```

sign cronos tx with private key

### function build\_eth\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > build_eth_signed_tx(
    ::org::defi_wallet_core::EthTxInfoRaw tx_info,
    ::std::uint64_t chain_id,
    bool legacy,
    ::org::defi_wallet_core::PrivateKey const & secret_key
)
```

sign cronos tx with private key in custom network

### function get\_eth\_balance

```cpp
::org::defi_wallet_core::U256 get_eth_balance(
    ::rust::Str address,
    ::rust::Str api_url
)
```

given the account address, it returns the amount of native token it owns

### function get\_eth\_nonce

```cpp
::rust::String get_eth_nonce(
    ::rust::Str address,
    ::rust::Str api_url
)
```

Returns the corresponding account's nonce / number of transactions sent from it.

### function broadcast\_eth\_signed\_raw\_tx

```cpp
::org::defi_wallet_core::CronosTransactionReceiptRaw broadcast_eth_signed_raw_tx(
    ::rust::Vec<::std::uint8_t > raw_tx,
    ::rust::Str web3api_url,
    ::std::uint64_t polling_interval_ms
)
```

broadcast signed cronos tx

### function set\_cronos\_httpagent

```cpp
void set_cronos_httpagent(
    ::rust::Str agent
)
```

set cronos http-agent name

### function get\_nft\_issue\_denom\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_nft_issue_denom_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String id,
    ::rust::String name,
    ::rust::String schema
)
```

creates the signed transaction for `MsgIssueDenom` from the Chainmain nft module

### function get\_nft\_mint\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_nft_mint_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String id,
    ::rust::String denom_id,
    ::rust::String name,
    ::rust::String uri,
    ::rust::String data,
    ::rust::String recipient
)
```

creates the signed transaction for `MsgMintNft` from the Chainmain nft module

### function get\_nft\_edit\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_nft_edit_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String id,
    ::rust::String denom_id,
    ::rust::String name,
    ::rust::String uri,
    ::rust::String data
)
```

creates the signed transaction for `MsgEditNft` from the Chainmain nft module

### function get\_nft\_transfer\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_nft_transfer_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String id,
    ::rust::String denom_id,
    ::rust::String recipient
)
```

creates the signed transaction for `MsgTransferNft` from the Chainmain nft module

### function get\_nft\_burn\_signed\_tx

```cpp
::rust::Vec<::std::uint8_t > get_nft_burn_signed_tx(
    ::org::defi_wallet_core::CosmosSDKTxInfoRaw tx_info,
    ::org::defi_wallet_core::PrivateKey const & private_key,
    ::rust::String id,
    ::rust::String denom_id
)
```

creates the signed transaction for `MsgBurnNft` from the Chainmain nft module

### function new\_grpc\_client

```cpp
::rust::Box<::org::defi_wallet_core::GrpcClient > new_grpc_client(
    ::rust::String grpc_url
)
```

Create a new grpc client.

### function u256

```cpp
::org::defi_wallet_core::U256 u256(
    ::rust::String value
)
```

Convert from a decimal string.

### function u256

```cpp
::org::defi_wallet_core::U256 u256(
    ::rust::String txt,
    ::std::uint32_t radix
)
```

Converts a string slice in a given base to an integer.

Only supports radixes of 10 and 16.

### function u256\_max\_value

```cpp
::org::defi_wallet_core::U256 u256_max_value()
```

The maximum value which can be inhabited by this type.

### function parse\_ether

```cpp
::org::defi_wallet_core::U256 parse_ether(
    ::rust::String eth
)
```

Converts the input to a [U256](/readme-1/namespaces/namespaceorg_1_1defi__wallet__core.md) and converts from Ether to Wei.

### function parse\_units

```cpp
::org::defi_wallet_core::U256 parse_units(
    ::rust::String amount,
    ::rust::String units
)
```

Multiplies the provided amount with 10^{units} provided.

***

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