Table of Contents

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 AccountSequenceNumber

Next nonce to be used for transactions signed from this account.

AccountAmount CcdAmount

Current (unencrypted) balance of the account.

AccountIndex 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.

AccountAddress AccountAddress

Canonical address of the account.

AccountStakingInfo IAccountStakingInfo

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.

Schedule ReleaseSchedule

Release 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 CcdAmount

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).

Properties

AccountAddress

Canonical address of the account.

public AccountAddress AccountAddress { get; init; }

Property Value

AccountAddress

AccountAmount

Current (unencrypted) balance of the account.

public CcdAmount AccountAmount { get; init; }

Property Value

CcdAmount

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

AccountIndex

AccountNonce

Next nonce to be used for transactions signed from this account.

public AccountSequenceNumber AccountNonce { get; init; }

Property Value

AccountSequenceNumber

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

IAccountStakingInfo

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

CcdAmount

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

IList<Cooldown>

Schedule

Release schedule for any locked up amount. This could be an empty release schedule.

public ReleaseSchedule Schedule { get; init; }

Property Value

ReleaseSchedule