package com.r35157.libs.solana;

/**
 * Commitment level required when observing a Solana transaction.
 *
 * <p>The constants are ordered from the weakest to the strongest commitment:
 * {@link #PROCESSED}, {@link #CONFIRMED}, then {@link #FINALIZED}. An observed
 * level satisfies the same requested level and every weaker level.</p>
 */
public enum SolanaCommitment {
    /**
     * The transaction has been processed by the connected node.
     */
    PROCESSED,

    /**
     * The transaction has been voted on by a supermajority of the cluster.
     */
    CONFIRMED,

    /**
     * The transaction has been finalized by the cluster.
     */
    FINALIZED
}
