Class AccountInfo
- Namespace
- Concordium.Sdk.Types
- Assembly
- Concordium.Sdk.dll
Account information exposed via the node's API. This is always the state of an account in a specific block.
public sealed record AccountInfo : IEquatable<AccountInfo>
- Inheritance
-
AccountInfo
- Implements
- Inherited Members
Constructors
AccountInfo(AccountSequenceNumber, CcdAmount, AccountIndex, AccountAddress, IAccountStakingInfo?, ReleaseSchedule, IList<Cooldown>, CcdAmount)
Account information exposed via the node's API. This is always the state of an account in a specific block.
public AccountInfo(AccountSequenceNumber AccountNonce, CcdAmount AccountAmount, AccountIndex AccountIndex, AccountAddress AccountAddress, IAccountStakingInfo? AccountStakingInfo, ReleaseSchedule Schedule, IList<Cooldown> Cooldowns, CcdAmount AvailableBalance)
Parameters
AccountNonce
AccountSequenceNumberNext nonce to be used for transactions signed from this account.
AccountAmount
CcdAmountCurrent (unencrypted) balance of the account.
AccountIndex
AccountIndexInternal index of the account. Accounts on the chain get sequential indices. These should generally not be used outside of the chain, the account address is meant to be used to refer to accounts, however the account index serves the role of the baker id, if the account is a baker. Hence it is exposed here as well.
AccountAddress
AccountAddressCanonical address of the account.
AccountStakingInfo
IAccountStakingInfoNot null if and only if the account is a baker or delegator. In that case it is the information about the baker or delegator.
Schedule
ReleaseScheduleRelease schedule for any locked up amount. This could be an empty release schedule.
Cooldowns
IList<Cooldown>The stake on the account that is in cooldown. There can be multiple amounts in cooldown that expire at different times. This was introduced in protocol version 7, and so is not present in earlier protocol versions.
AvailableBalance
CcdAmountThe available (unencrypted) balance of the account (i.e. that can be transferred or used to pay for transactions). This is the balance minus the locked amount. The locked amount is the maximum of the amount in the release schedule and the total amount that is actively staked or in cooldown (inactive stake).
Properties
AccountAddress
Canonical address of the account.
public AccountAddress AccountAddress { get; init; }
Property Value
AccountAmount
Current (unencrypted) balance of the account.
public CcdAmount AccountAmount { get; init; }
Property Value
AccountIndex
Internal index of the account. Accounts on the chain get sequential indices. These should generally not be used outside of the chain, the account address is meant to be used to refer to accounts, however the account index serves the role of the baker id, if the account is a baker. Hence it is exposed here as well.
public AccountIndex AccountIndex { get; init; }
Property Value
AccountNonce
Next nonce to be used for transactions signed from this account.
public AccountSequenceNumber AccountNonce { get; init; }
Property Value
AccountStakingInfo
Not null if and only if the account is a baker or delegator. In that case it is the information about the baker or delegator.
public IAccountStakingInfo? AccountStakingInfo { get; init; }
Property Value
AvailableBalance
The available (unencrypted) balance of the account (i.e. that can be transferred or used to pay for transactions). This is the balance minus the locked amount. The locked amount is the maximum of the amount in the release schedule and the total amount that is actively staked or in cooldown (inactive stake).
public CcdAmount AvailableBalance { get; init; }
Property Value
Cooldowns
The stake on the account that is in cooldown. There can be multiple amounts in cooldown that expire at different times. This was introduced in protocol version 7, and so is not present in earlier protocol versions.
public IList<Cooldown> Cooldowns { get; init; }
Property Value
Schedule
Release schedule for any locked up amount. This could be an empty release schedule.
public ReleaseSchedule Schedule { get; init; }