The iota.rs client instance

### Builder(): [ClientBuilder](#clientbuilder)

Creates a new instance of the CLient builder

### getHealth(): boolean

GET /health endpoint

### getNodeHealth(node): boolean

GET /health endpoint for the passed node

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| node | String |  the node url which you want to query speicifically for, in the case of multiple nodes in a pool |

### getNode(): [Node](#node)



### getNetworkId(): long

Gets the network id of the node we're connecting to.

### getPowProvider(): [ClientMiner](#clientminer)

Gets the miner to use based on the PoW setting

### getNetworkInfo(): [NetworkInfo](#networkinfo)

Gets the network related information such as network_id and min_pow_score
 and if it's the default one, sync it first.

### getInfo(): [NodeInfoWrapper](#nodeinfowrapper)

GET /api/v1/info endpoint

### getPeers(): [PeerDto[]](#peerdto)

GET /api/v1/peers endpoint

### getTips(): String[]

GET /api/v1/tips endpoint

### getOutput(output_id): [OutputResponse](#outputresponse)

GET /api/v1/outputs/{outputId} endpoint
 Find an output by its transaction_id and corresponding output_index.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| output_id | String |  The id of the output |

### getAddress(): [GetAddressBuilder](#getaddressbuilder)

GET /api/v1/addresses/{address} endpoint
 Creates a new instance of the AddressBuilder

### getAddressBalance(address): [BalanceAddressResponse](#balanceaddressresponse)

Return the balance in iota for the given address; No seed needed to do this
 since we are only checking and already know the address.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| address | String |  The address we want to get the balance for |

### getAddressesBalances(addresses): [BalanceAddressResponse[]](#balanceaddressresponse)

since we are only checking and already know the addresses.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| addresses | String[] |  The addresses we want to get the balance for |

### findOutputs(output_ids, addresses): [OutputResponse[]](#outputresponse)

Find all outputs based on the requests criteria. This method will try to query multiple nodes if
 the request amount exceeds individual node limit.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| output_ids | String[] |  The optional output ids to check for |
| addresses | String[] |  The optional list of addresses to check for |

### getMilestone(index): [MilestoneResponse](#milestoneresponse)

GET /api/v1/milestones/{index} endpoint
 Get the milestone by the given index.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| index | long |  the milestone index |

### getMilestoneUtxoChanges(index): [MilestoneUtxoChangesResponse](#milestoneutxochangesresponse)

GET /api/v1/milestones/{index}/utxo-changes endpoint
 Gets the utxo changes by the given milestone index.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| index | long |  the milestone index |

### getReceipts(): [ReceiptDto[]](#receiptdto)

GET /api/v1/receipts endpoint
 Get all receipts.

### getReceiptsMigratedAt(index): [ReceiptDto[]](#receiptdto)

GET /api/v1/receipts/{migratedAt} endpoint
 Get the receipts by the given milestone index.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| index | long |  the milestone index |

### getTreasury(): [TreasuryResponse](#treasuryresponse)

GET /api/v1/treasury endpoint
 Get the treasury output.

### getIncludedMessage(transaction_id): [Message](#message)

GET /api/v1/transactions/{transactionId}/included-message
 Returns the included message of the transaction.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| transaction_id | [TransactionId](#transactionid) |  the transaction id |

### postMessage(msg): [MessageId](#messageid)

POST /api/v1/messages endpoint

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| msg | [Message](#message) |  The message to post. Use `Client.message()` to create one. |

### reattach(message_id): [MessageWrap](#messagewrap)

Reattaches messages for provided message id. Messages can be reattached only if they are valid and haven't been
 confirmed for a while.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| message_id | [MessageId](#messageid) |  The id of the Message to reattach |

### reattachUnchecked(message_id): [MessageWrap](#messagewrap)

Reattach a message without checking if it should be reattached

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| message_id | [MessageId](#messageid) |  The id of the Message to reattach |

### promote(message_id): [MessageWrap](#messagewrap)

Promotes a message. The method should validate if a promotion is necessary through get_message. If not, the
 method should error out and should not allow unnecessary promotions.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| message_id | [MessageId](#messageid) |  The id of the Message to promote |

### promoteUnchecked(message_id): [MessageWrap](#messagewrap)

Promote a message without checking if it should be promoted

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| message_id | [MessageId](#messageid) |  The id of the Message to promote |

### getBalance(seed): [GetBalanceBuilderApi](#getbalancebuilderapi)

Return the balance for a provided seed
 Addresses with balance must be consecutive, so this method will return once it encounters a zero
 balance address.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| seed | String |  the seed which contains the addressses you want to check balance for |

### message(): [ClientMessageBuilder](#clientmessagebuilder)

A generic send function for easily sending transaction or indexation messages.

### getMessage(): [GetMessageBuilder](#getmessagebuilder)

GET /api/v1/messages/{messageId} endpoint

### getAddresses(seed): [GetAddressesBuilder](#getaddressesbuilder)

Return a list of addresses from the seed regardless of their validity.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| seed | String |  ssed that will create the addresses |

### retryUntilIncluded(message_id, interval, max_attempts): [MessageWrap[]](#messagewrap)

Retries (promotes or reattaches) a message for provided message id until it's included (referenced by a
 milestone). Default interval is 5 seconds and max attempts is 40. Returns reattached messages. Set to -1 for defaults.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| message_id | [MessageId](#messageid) |  The id of the Message to include |
| interval | long |  The interval in seconds to try |
| max_attempts | long |  The maximum attempts for retrying |

### subscriber(): [MqttManager](#mqttmanager)

Returns a handle to the MQTT topics manager.

### generateMnemonic(): String

Generates a new mnemonic.

### mnemonicToHexSeed(mnemonic): String

Returns a hex encoded seed for a mnemonic.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| mnemonic | String |  The mmnemonic to turn into a seed |

### findInputs(addresses, amount): [UtxoInput[]](#utxoinput)

Function to find inputs from addresses for a provided amount (useful for offline signing)

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| addresses | String[] |  The addresses to obtain balance from |
| amount | long |  the amount we need to find |

### bech32ToHex(bech32): String

Returns a parsed hex String from bech32.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| bech32 | String |  The address Bech32 string |

### hexToBech32(hex, bech32_hrp): String

Transforms a hex encoded address to a bech32 encoded address

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| hex | String |  The address Bech32 string |
| bech32_hrp | String |  The Bech32 hrp string |

### hexPublicKeyToBech32Address(hex, bech32_hrp): String

Transforms a hex encoded public key to a bech32 encoded address

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| hex | String |  hex encoded public key |
| bech32_hrp | String |  The Bech32 hrp string |

### isAddressValid(address): boolean

Checks if a str is a valid bech32 encoded address.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| address | String |  The addresss string to check |

### parseBech32Address(address): [Address](#address)

Returns a valid Address parsed from a String.

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| address | String |  The addresss string to parse |

### shouldMigrate(seed, account_index, address_index, pub_addr): boolean

Temporarily method to check if your seed is made using the incorrect generation of the old JAVA seed input

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| seed | String |  The seed you used previously |
| account_index | long |  The account index used, is 0 when you didnt use it |
| address_index | long |  The address index you want to migrate |
| pub_addr | boolean |  If it's a public or internal address |

### migrate(seed, account_index, address_index, pub_addr, to_address): [Message](#message)

Temporarily method in order to migrate wrongly generated seeds from JAVA to Rust
 Migrates the balance of the address towards the provided to_address
 And returns the message or an error

| Parameter       | Type |  Description |
| --------------- | -------- | -------- |
| seed | String |  The seed you used previously |
| account_index | long |  The account index used, is 0 when you didnt use it |
| address_index | long |  The address index you want to migrate |
| pub_addr | boolean |  If it's a public or internal address |
| to_address | String |  The address we send the balance to |
