Table of Contents

Namespace chia.dotnet

Classes

AmountFilter
AmountWithPuzzlehash
Announcement
AssetInfo
AutoClaimSettings
BlockCountMetrics
BlockRecord

This class is not included or hashed into the blockchain, but it is kept in memory as a more efficient way to maintain data about the blockchain. This allows us to validate future blocks, difficulty adjustments, etc, without saving the whole header block in memory.

BlockSpendWithConditions
BlockchainState

The node's view of the blockchain.

BundleCoinSpend
CATInfo
CATWallet

Wraps a CAT wallet

CRCATWallet

Wraps a CRCAT Wallet

ChallengeChainSubSlot
ClassgroupElement

Represents a classgroup element (a,b,c) where a, b, and c are 512 bit signed integers. However this is using a compressed representation. VDF outputs are a single classgroup element. VDF proofs can also be one classgroup element(or multiple).

Coin

This structure is used in the body for the reward and fees genesis coins.

CoinAnnouncement
CoinRecord

These are values that correspond to a CoinName that are used in keeping track of the unspent database.

CoinSpend

This is a rather disparate data structure that validates coin transfers. It's generally populated with data from different sources, since burned coins are identified by name, so it is built up more often that it is streamed.

ConditionValidTimes
ConditionWithVars

This structure is used to store parsed CLVM conditions Conditions in CLVM have either format of(opcode, var1) or(opcode, var1, var2)

Config

Represents a chia config yaml file and its contents. Used to find the uri and ssl certs needed to connect

ConnectionInfo

Chia's representation of a connection from node to node

Converters

Helper functions for deserialization and conversion

CrawlerProxy

Proxy that communicates with the crawler

DAOInfo
DAORules
DAOWallet

Wraps a DAO Wallet

DIDInfo
DIDWallet

Wraps a Distributed Identity Wallet

DLProof
DaemonProxy

WebSocketRpcClient for the daemon interface. The daemon can be used to proxy messages to and from other chia services as well as controlling the PlotterProxy and having it's own procedures

DataLayerOffer
DataLayerProxy

Proxy that communicates with the Data Layer

DataLayerSyncStatus
DataLayerWallet

Wraps a Data Layer Wallet

EndOfSubSlotBundle
EndpointInfo

Information about how to connect and authenticate with the RPC endpoint

ErrorResponse

Response in error case for all endpoints of the pool protocol

Extensions

Helper extension methods

FarmerProxy

Proxy that communicates with the farmer

FarmerRewards
FarmerSignagePoint

This type doesn't exist in the chia code but is generated and passed around as a dictionary (not to be confused with SignagePoint)

FilterItem
Foliage

The entire foliage block, containing signature and the unsigned back pointer The hash of this is the "header hash". Note that for unfinished blocks, the prev_block_hash Is the prev from the signage point, and can be replaced with a more recent block

FoliageBlockData

Part of the block that is signed by the plot key

FoliageTransactionBlock

Information that goes along with each transaction block that is relevant for light clients

FullBlock

All the information required to validate a block

FullNodeProxy

Proxy that communicates with the full node

FungibleAsset
HarvesterConfig
HarvesterConnection
HarvesterInfo
HarvesterProxy

Proxy that communicates with the harvester

HarvesterSummary
HarvesterSync
HashFilter
HashOnlyProof
HttpRpcClient

Class that handles core communication with the rpc endpoint using http(s)

InfusedChallengeChainSubSlot
InternalNode
KVDiff
KeyData
KeyDataSecrets
KeyValueHashes
KeyringStatus
Layer
LineageProof
MempoolItem
MempoolMinFees
Message

The messaging data structure for request and response exchange with the RPC endpoint

Mirror
NFTBulkMintingInfo

Info for minting NFTs in bulk

NFTCoinInfo
NFTInfo

NFT Info for displaying NFT on the UI

NFTMintEntry
NFTMintingInfo

Info for minting an NFT

NFTWallet

Wraps an NFT wallet

NPCResult
NameValuePair
OfferRecord

The in memory representation of an offer and its record of trade

OfferStore
OfferSummary
PaginatedPlotRequest
PassphraseRequirements
PeerCounts
PlotInfo

Info about a plot file

PlotInfoRequestData
PlotPathRequestData
PlotterConfig

Configuration settings for the plotter. (equivalent to chia plots create command line args) https://github.com/Chia-Network/chia-blockchain/wiki/CLI-Commands-Reference

PlotterInfo
PlotterProxy

Class to manage plotting

PlottingKeys
PluginStatus
PoolInfo
PoolPoint
PoolState

PoolState is a type that is serialized to the blockchain to track the state of the user's pool singleton target_puzzle_hash is either the pool address, or the self-pooling address that pool rewards will be paid to. target_puzzle_hash is NOT the p2_singleton puzzle that block rewards are sent to. The p2_singleton address is the initial address, and the target_puzzle_hash is the final destination. relative_lock_height is zero when in SELF_POOLING state

PoolStateInfo

This type does not exist in the chia python, but is returned as a dicitonary for the UI to show pool state. Not to be confused with PoolState

PoolTarget
PoolWallet

Wraps a Pool Wallet

PoolWalletConfig

This is what goes into the user's config file, to communicate between the wallet and the farmer processes.

PoolWalletInfo

Internal Pool Wallet state, not destined for the blockchain. This can be completely derived with the Singleton's CoinSpends list, or with the information from the WalletPoolStore.

PrivateKey
PrivateKeyData
Proof
ProofOfSpace
ProofResultInclusions
ProposalInfo
ProposalState
PuzzleAnnouncement
QueuedPlotInfo

An entry on the plotter queue

ResponseException

Exception thrown when the RPC endpoint returns a response Message but Data.success is false oro there is a communication error on the WebSocket of http channel

RewardChainBlock
RewardChainBlockUnfinished
RewardChainSubSlot
Root
RootHash
RootHistory
RoyaltyAsset
SendPeer

Represents the list of peers that we sent the transaction to, whether each one included it in the mempool, and what the error message (if any) was

ServiceProxy

Base class that uses an IRpcClient to send and receive messages to services

SignagePoint
SingletonInfo
SingletonRecord
Spend
SpendBundle

This is a list of coins being spent along with their solution programs, and a single aggregated signature. This is the object that most closely corresponds to a bitcoin transaction (although because of non-interactive signature aggregation, the boundaries between transactions are more flexible than in bitcoin).

SpendBundleConditions
StoreProofs
SubEpochSummary
SubSlotProofs
SyncState
TerminalNode
Token
TradeManager

API wrapper for those wallet RPC methods dealing with trades and offers

TradeRecord

Used for storing transaction data and status in wallets.

TransactionRecord

Used for storing transaction data and status in wallets.

TransactionTypeFilter
TransactionsInfo

Information that goes along with each transaction block

UInt32Range
UInt64Range
UnfinishedHeaderBlock

Same as a FullBlock but without TransactionInfo and Generator, used by light clients

VCLineageProof

The covenant layer for exigent metadata layers requires to be passed the previous parent's metadata too

VCProofs
VCRecord
VDFInfo
VDFProof
VerifiedCredential

This class serves as the main driver for the entire VC puzzle stack. Given the information below, it can sync and spend VerifiedCredentials in any specified manner.Trying to sync from a spend that this class did not create will likely result in an error.

VerifiedCredentialManager

API wrapper for those wallet RPC methods dealing with verified credentials

Wallet

Base class representing a specific wallet (i.e. anything with a WalletID)

WalletAddress
WalletBalance
WalletInfo

This object represents the wallet data as it is stored in DB. ID: Main wallet (Standard) is stored at index 1, every wallet created after done has auto incremented id. Name: can be a user provided or default generated name. (can be modified) Type: is specified during wallet creation and should never be changed. Data: this filed is intended to be used for storing any wallet specific information required for it. This data should be json encoded string.

WalletProxy

Proxy that communicates with the wallet endpoint

WebSocketRpcClient

Class that handles core communication with the rpc endpoint using a WebSocket (wss). Only the daemon endpoint supports WebSockets, but it can proxy communication to other services. Destination

Structs

ServiceNames

The names of chia services. These are used as Destination values

Interfaces

IRpcClient

Interface representing rpc communication

IServiceProxy

Core interface to chia RPC endpoints that passes and returns dynamic objects

Enums

CoinRecordOrder
CoinType
FilterMode
KSize

Valid plot sizes https://github.com/Chia-Network/chia-blockchain/wiki/k-sizes

MempoolInclusionStatus
NodeType
PlotState
PoolSingletonState

From the user's point of view, a pool group can be in these states: SELF_POOLING: The singleton exists on the blockchain, and we are farming block rewards to a wallet address controlled by the user

LEAVING_POOL: The singleton exists, and we have entered the "escaping" state, which means we are waiting for a number of blocks = relative_lock_height to pass, so we can leave.

FARMING_TO_POOL: The singleton exists, and it is assigned to a pool.

CLAIMING_SELF_POOLED_REWARDS: We have submitted a transaction to sweep our self-pooled funds.

Side
Status
TradeStatus
TransactionType
WalletType

Wallet Types