Class DissociateTokenExtensions
Extension methods for dissociating tokens from accounts on the network.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class DissociateTokenExtensions
Methods
| Edit this page View SourceDissociateTokenAsync(ConsensusClient, DissociateTokenParams, Action<IConsensusContext>?)
Removes Storage associated with the account for maintaining token balances for this account.
Declaration
public static Task<TransactionReceipt> DissociateTokenAsync(this ConsensusClient client, DissociateTokenParams dissociateParams, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the dissociation. |
| DissociateTokenParams | dissociateParams | The parameters containing the account and tokens to dissociate. |
| Action<IConsensusContext> | configure | Optional callback method providing an opportunity to modify the execution configuration for just this method call. It is executed prior to submitting the request to the network. |
Returns
| Type | Description |
|---|---|
| Task<TransactionReceipt> | A transaction receipt indicating a successful operation. |
Remarks
Since this action modifies the account's records, it must be signed by the account's key.
Examples
// Remove an account's token-balance storage slot. The account must
// hold zero balance of the token before dissociating. Argument order
// is (token, account) — opposite of AssociateTokenAsync.
var receipt = await client.DissociateTokenAsync(token, account);
Console.WriteLine($"Dissociate status: {receipt.Status}");
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | If required arguments are missing. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node rejected the request upon submission, for example, if the token has already been dissociated. |
| ConsensusException | If the network was unable to come to consensus before the duration of the transaction expired. |
| TransactionException | If the network rejected the request as invalid or had missing data. |
DissociateTokenAsync(ConsensusClient, EntityId, EntityId, Action<IConsensusContext>?)
Removes Storage associated with the account for maintaining token balances for this account.
Declaration
public static Task<TransactionReceipt> DissociateTokenAsync(this ConsensusClient client, EntityId token, EntityId account, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the dissociation. |
| EntityId | token | The identifier of the token that will be dissociated. |
| EntityId | account | The identifier of the account that will be dissociated. |
| Action<IConsensusContext> | configure | Optional callback method providing an opportunity to modify the execution configuration for just this method call. It is executed prior to submitting the request to the network. |
Returns
| Type | Description |
|---|---|
| Task<TransactionReceipt> | A transaction receipt indicating a successful operation. |
Remarks
Since this action modifies the account's records, it must be signed by the account's key.
Examples
// Remove an account's token-balance storage slot. The account must
// hold zero balance of the token before dissociating. Argument order
// is (token, account) — opposite of AssociateTokenAsync.
var receipt = await client.DissociateTokenAsync(token, account);
Console.WriteLine($"Dissociate status: {receipt.Status}");
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | If required arguments are missing. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node rejected the request upon submission, for example, if the token has already been dissociated. |
| ConsensusException | If the network was unable to come to consensus before the duration of the transaction expired. |
| TransactionException | If the network rejected the request as invalid or had missing data. |