Show / Hide Table of Contents

Namespace Libplanet.Action.State

Classes

Account

An internal implementation of IAccount.

AccountDiff

Represents a difference between two IAccountStates. This is a partial interpretation of a raw difference obtained by Diff(ITrie) from IAccountState's perspective. Keep in mind of the following properties:

  • Any value, which is equivalent to non-existent value in the underlying storage, in the source is ignored. That is, even if the value in the target and the value in the source are different while the value in the source is null, this will not be part of the resulting AccountDiff.
  • This only shows the difference in "states" manipulated using SetState(Address, IValue) and RemoveState(Address). That is, this does care about differences in FungibleAssetValues.
  • Due to the reason mentioned directly above, the size of AccountDiff derived from Diff(ITrie) may not be the same. Moreover, an AccountDiff being empty does not guarantee that the data represented by IAccountStates are the same.

AccountState

A default implementation of IAccountState interface.

CurrencyAccount

A special "account" for managing Currency starting with CurrencyAccountProtocolVersion.

CurrencyPermissionException

The exception that is thrown when a TransactionSigner has no rights to mint a Currency or burn assets of a Currency.

InsufficientBalanceException

The exception that is thrown when a sender has less Balance than amount to transfer or an owner has less Balance than amount to burn.

IWorldExtensions

ReservedAddresses

SupplyOverflowException

The exception thrown when a minter tries to mint a currency such that the resulting total supply exceed the maximum amount.

ValidatorSetAccount

A special "account" for managing ValidatorSet starting with ValidatorSetAccountProtocolVersion.

World

An internal implementation of IWorld.

WorldBaseState

A default implementation of IWorldState interface. It acts as root state of World recursion.

WorldDelta

Interfaces

IAccount

An interface to manipulate an account state with maintaining .

It is like a map which is virtually initialized such that every possible Address exists and is mapped to null. That means that:

  • it does not have length,
  • its index getter never throws , but returns null instead, and
  • filling an Address with null state cannot be distinguished from the Address having never been set to any state.

IAccountState

An interface to fetch account states.

It is like a readonly map which is virtually initialized such that every possible Address exists and is mapped to null. That means that:

  • it does not have length,
  • its index getter never throws , but returns null instead, and

IBlockChainStates

A minimal interface to get states from a BlockChain.

Note that BlockChain implements this interface.

IWorld

An interface to manipulate an world state with maintaining Delta.

It is like a map which is virtually initialized such that every possible Address exists and is mapped to null. That means that:

  • it does not have length,
  • its index getter never throws , but returns null instead, and
  • filling an Address with null account cannot be distinguished from the Address having never been set to any account.

IWorldDelta

IWorldState

An interface to fetch world states.

It is like a readonly map which is virtually initialized such that every possible Address exists and is mapped to null. That means that:

  • it does not have length,
  • its index getter never throws , but returns null instead, and
  • filling an Address with null state cannot be distinguished from the Address having never been set to any state.
In This Article
Back to top Copyright © 2018–2023 Planetarium